29
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

GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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

Page 2: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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

Page 3: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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

Page 4: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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:

Page 5: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

2/14/2012

5

Insightful Solutions :: Innovative Technologies

A COMMON SCENARIO

DEMO

Insightful Solutions :: Innovative Technologies

Architecture documents

Architecture Document

Development Policies

Requirements Documentation

Page 6: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

2/14/2012

6

Insightful Solutions :: Innovative Technologies

QA documents

Test Plans

Use Cases

Detailed Status Repots

Insightful Solutions :: Innovative Technologies

Developers Deliver

Page 7: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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.

Page 8: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

2/14/2012

8

Insightful Solutions :: Innovative Technologies

SO, WHAT HAPPENED?

Insightful Solutions :: Innovative Technologies

What Issues Can we identify?

• Working in isolation

Page 9: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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!

Page 10: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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:

Page 11: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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

Page 12: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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

Page 13: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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

Page 14: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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

Page 15: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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

Page 16: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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

Page 17: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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)

Page 18: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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

Page 19: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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

Page 20: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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

Page 21: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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

Page 22: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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?

Page 23: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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

Page 24: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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

Page 25: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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

Page 26: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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

Page 27: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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.

Page 28: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

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/)

Page 29: GET HOME ON TIME! - Agile Alliance · 2/14/2012 2 InsightfulSolutions :: Innovative Technologies Description. • Do not waste your time building the wrong features. Learn to write

2/14/2012

29

Insightful Solutions :: Innovative Technologies

Thank You

• Speaker Contact Information

– Eric Landes (AgileThought)

[email protected]

• 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