Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
2/14/2012
1
Insightful Solutions :: Innovative Technologies
Insightful Solutions :: Innovative Technologies
HOW USING EXCELLENT EXECUTABLE
REQUIREMENTS CAN HELP YOU DO THAT!
GET HOME ON TIME!
2
2/14/2012
2
Insightful Solutions :: Innovative Technologies
Description.
• Do not waste your time building the wrong features. Learn to write
executable requirements that the business, developers, and testers can
understand. See how executable requirements can be created in difficult
situations such as refining vague requirements, and helping product
owners use “one voice.” Learn the principles of building executable
requirements and acceptance criteria that capture customer value.
3
Insightful Solutions :: Innovative Technologies
Outline.
• Introduction/Agenda (5 minutes)
• Review what Bad Look like(10 minutes)
• Review what Good can Look like(10 minutes)
• Team Breakout write 1st Happy Path AC scenario(s) (10 minutes
• Review Happy Path Scenario(10 minutes).
• Team Breakout write 2nd UnHappy Path AC scenario(s) (10 minutes)
• Review non Happy Path Scenarios (10 minutes)
• Put AC into automated tests (15 minutes)
• Q and A (Wrap up) (10 minutes)
4
2/14/2012
3
Insightful Solutions :: Innovative Technologies
What audience learns
• Practice writing good Acceptance Criteria
• Practice Collaborating with Testers defining Automated
AC.
• Practice techniques to create common understanding
with Product owners
• Introduce attendees to automation tools to add to your
toolkit.
• Tool specific templates for use between Product
Owners, Business Analysts, Testers and Developers.
5
Insightful Solutions :: Innovative Technologies
Agenda
• What bad looks like
• How it happens
• Better ways
• Example
2/14/2012
4
Insightful Solutions :: Innovative Technologies
Bad Requirements Examples
• Lengthy
• Unfocused
• Ambiguous
• Verified
Manually
Insightful Solutions :: Innovative Technologies
Bad requirement might look like:
2/14/2012
5
Insightful Solutions :: Innovative Technologies
A COMMON SCENARIO
DEMO
Insightful Solutions :: Innovative Technologies
Architecture documents
Architecture Document
Development Policies
Requirements Documentation
2/14/2012
6
Insightful Solutions :: Innovative Technologies
QA documents
Test Plans
Use Cases
Detailed Status Repots
Insightful Solutions :: Innovative Technologies
Developers Deliver
2/14/2012
7
Insightful Solutions :: Innovative Technologies
Rules
• 1 minute discussion of scenario.
• Because Product Owner is busy with other
meetings, take 5 minutes and create your
written acceptance criteria for this feature.
• After 5 minutes we review the AC.
Insightful Solutions :: Innovative Technologies
Actual Request
• Frequent Traveler wants to be notified when
there are deals in his favorite area.
• The traveler should be able to tell us what
“deal” means to her, and what her favorite
area is.
• If the traveler can’t tell us then we need to be
able to figure that out without his input.
2/14/2012
8
Insightful Solutions :: Innovative Technologies
SO, WHAT HAPPENED?
Insightful Solutions :: Innovative Technologies
What Issues Can we identify?
• Working in isolation
2/14/2012
9
Insightful Solutions :: Innovative Technologies
What Issues Can we identify?
• Speaking different languages
Insightful Solutions :: Innovative Technologies
What Issues Can we identify?
• Covering too much!
2/14/2012
10
Insightful Solutions :: Innovative Technologies
What Issues Can we identify?
• Limiting to one type of artifact
Insightful Solutions :: Innovative Technologies
A Better Strategy
Our strategy for executable requirements means
we have to know when the requirements are
met. This is achieved by:
2/14/2012
11
Insightful Solutions :: Innovative Technologies
Tips for Close Collaboration
• Collaboration on acceptance criteria between
customer and team
Insightful Solutions :: Innovative Technologies
Tips for Close Collaboration
• Get the team together in the same room
2/14/2012
12
Insightful Solutions :: Innovative Technologies
Tips for Close Collaboration
• Get the remote teamtogether using Video
conference/Skype
Insightful Solutions :: Innovative Technologies
Tips for Close Collaboration
• Get the team together using Collaboration tools
like Dabbleboard
2/14/2012
13
Insightful Solutions :: Innovative Technologies
Tips for Close Collaboration
• Get the team together just using a Phone call
Insightful Solutions :: Innovative Technologies
Tips for Close Collaboration
• Confirm agreement with lite documentation
2/14/2012
14
Insightful Solutions :: Innovative Technologies
Tips for Close Collaboration
– Collaboration on acceptance criteria between
customer and team
– Get the different parties together
• Same room
• Video conference/Skype
• Collaboration tools like Dabbleboard
• Phone call
– Confirm agreement with lite documentation
Insightful Solutions :: Innovative Technologies
Speak the Same Language
• Capture the Common Objective
� “Elevator Statement”/Theme
2/14/2012
15
Insightful Solutions :: Innovative Technologies
Speak the Same Language
• Create a Shared workspace
� Physical
� Wiki
Insightful Solutions :: Innovative Technologies
Speak the Same Language
– Capture the Common Objective
• “Elevator Statement”/Theme
– Create a Shared workspace
• Physical
• Wiki
– Keep the Team Consistent
2/14/2012
16
Insightful Solutions :: Innovative Technologies
Remove Ambiguity
• Provide Additional Context By Having the
Conversation
Insightful Solutions :: Innovative Technologies
Remove Ambiguity
• Provide Additional Context By Creating an
Overview
2/14/2012
17
Insightful Solutions :: Innovative Technologies
Remove Ambiguity
• Provide Additional Context by Supplementing
with Picture(s) or Diagrams
Insightful Solutions :: Innovative Technologies
Remove Ambiguity
• Provide Additional Context by Identifing the
Actor(s) or Persona(s)
2/14/2012
18
Insightful Solutions :: Innovative Technologies
Remove Ambiguity
• Provide Additional Context by Mocking the UI
with Wireframes
Insightful Solutions :: Innovative Technologies
Remove Ambiguity
• Provide Additional Context
– Have the Conversation
– Create an Overview
– Supplement with Picture(s) or Diagrams
– Identify the Actor or Persona
– Mock the UI with Wireframes
2/14/2012
19
Insightful Solutions :: Innovative Technologies
Insightful Solutions :: Innovative TechnologiesFrom the blog “Pragmatic Agilist” by Elena Yatzeck
http://pagilista.blogspot.com/2010/11/comprehensive-documentation-strikes.html
Executable
Requirements
2/14/2012
20
Insightful Solutions :: Innovative Technologies
Manually
Executed Test
Scripts
UAT
Manually Executed Test
Scripts
Layer Your Tests
• Traditionally, your test layers might look a
lot like this:
Insightful Solutions :: Innovative Technologies
UAT
Manually Executed Test
Scripts
Layer Your Tests - More
• Developers may embrace Unit Testing
Unit Test
2/14/2012
21
Insightful Solutions :: Innovative Technologies
UAT
Manually Executed Test Scripts
Better Yet…
Unit Test
Automated Functional Tests
Manual Tests
Primarily
Exploratory
Tests
Insightful Solutions :: Innovative Technologies
Type of Executable Requirements
Automated Functional Tests
Acceptance Criteria
Integrated into build
activityUI Tests
2/14/2012
22
Insightful Solutions :: Innovative Technologies
Type of Executable Requirements
• Unit Tests are created by developers and are for
developers• See “Test Driven Development by Example” by Kent Beck, or “Clean Code”
by Robert Martin
Insightful Solutions :: Innovative Technologies
• Executable Requirements are a time saver by
helping IT and Business work more closely
together
How does this help?
2/14/2012
23
Insightful Solutions :: Innovative Technologies
How does this help?
• Executable Requirements are a time saver by
helping the team get the feature right the first
time
Insightful Solutions :: Innovative Technologies
How does this help?
• Executable Requirements are a time saver by
lowering the cost of iterating
2/14/2012
24
Insightful Solutions :: Innovative Technologies
How does this help?
• Executable Requirements are a time saver by
reducing maintenance and “end of project”
tails to regress
Insightful Solutions :: Innovative Technologies
How does this help?
• team up to improve software without
the big cost of manual regression testing,
reducing cost for introducing new features
2/14/2012
25
Insightful Solutions :: Innovative Technologies
How does this help?
• team up to improve software without the
big cost of manual regression testing, reducing cost
for Fixing defects
Insightful Solutions :: Innovative Technologies
How does this help?
• team up to improve software without the
big cost of manual regression testing, reducing cost
for Refactor code
2/14/2012
26
Insightful Solutions :: Innovative Technologies
Good Executable Requirements
• Understandable to developer
• Understandable to business
• Unambiguous
• Automated
• Run frequently
Insightful Solutions :: Innovative Technologies
Defining Executable Requirements
• Demo
• Scenario:
– Existing Application
– Eric – Product Owner/Customer
2/14/2012
27
Insightful Solutions :: Innovative Technologies
Let’s Redo this Request
• Frequent Traveler wants to be notified when
there are deals in his favorite area.
• The traveler should be able to tell us what
“deal” means to her, and what her favorite
area is.
• If the traveler can’t tell us then we need to be
able to figure that out without his input.
Insightful Solutions :: Innovative Technologies
Rules
• 5 minutes initial discussion asking questions of
product owner, interactively creating User
Story with some AC (written).
• Collaborate with Team including developers as
we write the Executable requirements for
story.
2/14/2012
28
Insightful Solutions :: Innovative Technologies
Demo
Insightful Solutions :: Innovative Technologies
Summary
• Executable requirements:– Written to what the business needs
– Come about through a different process
– Increase value throughput
– Remain relevant through automation
• References…– Lean-Agile Acceptance Test-Driven Development by Ken Pugh
– Test Driven .NET Development with FitNesse by Gojko Adzic
– Fitnesse (http://fitnesse.org/)
– Selenium (http://seleniumhq.org/)
– Cucumber (http://cukes.info/)
2/14/2012
29
Insightful Solutions :: Innovative Technologies
Thank You
• Speaker Contact Information
– Eric Landes (AgileThought)
• http://www.linkedin.com/in/ericlandes
• http://twitter.com/ericlandes
• http://agilethought.com
• Please provide feedback on ways this
presentation can be improved
Insightful Solutions :: Innovative Technologies
Erics Bio
• Eric Landes has been involved with the IT industry for
close to 20 years. He has been using Agile methods for
the past 6 years, in a Team Lead/Project Manager
capacity. He has presented on Kanban, automated
acceptance tests, and other agile topics at different
agile conferences, and user group meetings. Eric has a
CSM and is a Microsoft MVP. For more information,
check out his web site, http://ericlandes.com
58