46
CHRISTIAN HASSA ([email protected]) TWITTER: @CHRISHASSA Agile Adria, April 22 nd 2013 From impact to stakeholder examples Three techniques for end-to-end requirements discovery

From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

  • Upload
    chassa

  • View
    9.335

  • Download
    1

Embed Size (px)

DESCRIPTION

Presented Agile Adria 2013, April 22nd A recording of the talk is available here: https://www.youtube.com/watch?v=IiX5FZLxSUE Requirements in agile development are much more than just a prioritized list of user stories. Release planning can be as important as the documentation of implemented business rule details. This talk introduces three popular techniques for discovering user needs on different goal levels, and how they fit together: Impact Mapping for strategic release planning, Story Mapping for designing and optimizing the scope of a release and Specification-By-Example for establishing a shared understanding about domain details and as an enabler for automated, business readable acceptance tests. You will leave this session with an overview about these three techniques, and how you can combine them in your daily work. The target audience are teams already working in an agile (or somewhat agile) environment and are familiar with the basic agile practices.

Citation preview

Page 1: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

CHRISTIAN HASSA ([email protected])

TWITTER: @CHRISHASSA

Agile Adria, April 22nd 2013

From impact tostakeholder examplesThree techniques for end-to-end requirements discovery

Page 2: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

About me

• Managing Partner at TechTalk:agile consulting and delivery

• Working in: Vienna, Budapest, Zurich

Vienna/Austria

Page 3: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

3

Why agile requirements?Successful problem solving requires

finding the right solutionto the right problem.

Russell Ackoff, 1974

We fail more often,

because we solve the wrong problemthan because we get thewrong solution to the right problem.

Page 4: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

4

User Stories

Page 5: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

5

•Describe user needs or features•Unit of planning/prioritization• Future options for evolving the system• Reminder for a discussion•Mechanism for deferring detail

What makes user stories agile?

„User stories are really the artifactat the heart of the continuing dialog between

what is possible and what is desirable.“~ Kent Beck (http://c2.com/cgi/wiki?UserStory)

Page 6: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

6

Impact Mapping

Story Mapping

Specification-By-Example

Discovering the problem to solveWhy?

How?Code

AcceptanceCriteria

Epics

Deliverables, Outputs

Impacts, Outcomes

Easier to define upfront Harder to define upfront

User Activities

User Stories

Examples

Goals

Page 7: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

7

Specification-By-Example

Defining experiments

Story Mapping

User Activities

Impact Mapping

Why?

How?Code

AcceptanceCriteria

Epics

Deliverables, Outputs

Impacts, Outcomes

Easier to define upfront Harder to define upfront

User Stories

Examples

Goals

Page 8: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

8

delivering softwarethat generates

Impact

Page 9: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

9

Impact Mapping

From: Gojko Adzic: www.impactmapping.org

Based on:Ingrid Domingues,

Mijo BalicEffect Managing IT

“Impact Mapping helps us plan better!It is collaborative, visual and fast.”

Page 10: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

10

Impact Map structure

Goal

Actors

Impacts

Deliverables

What is our goal?Sell 10.000 books within the first 6 monthsafter launching the business.

Who can help/prevent us reaching our goal?Shopper for mainstream books,Shopper for rarely available books,Agent preparing shipments, Hackers

Behavioural change helping/obstructing our goalShopper for mainstream books:• get books faster/more convenient• find popular books easily

Deliverables or features supporting/preventingthese behavioural changes (impacts):Shopper for mainstream books:• get books faster/more convenient:

• order books online• semi-automated distribution center

Page 11: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

11

Defining Impacts as User Stories

As a Shopper for Mainstream Books

I want to order books online

So that I can get books faster and more convenient.

Sell 10.000 books within the first 6 monthsafter launching the business.

Actor Impact Deliverable

Actor

Impact

Deliverable

Page 12: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

12

Defining Goals

• Scale: What to measure• (Alternative scales to consider)

• Meter: How to measure• (Different options how to meter)

• Levels• Benchmark: Current Situation• Constraint: Break-Even for

Investment, Minimum Acceptable Result

• Target: Desired Result• (Further possible levels: Trend, Fail,

Record, Survival)

# Monthly ordersof books

Sell 10.000 books in thefirst 6 months

Shop system

0

1.000

10.000

Tom Gilb: Competitive Engineering, PLANGUAGE

Page 13: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

13

Combining Goals

Selling books in6 months

Development+Operational Costs

Returning customers

Scale # Monthly orders of books

Team Salaries +Hosting Costs

% of Customersordering for asecond time within 2 months

Meter Shop System Financial Accounts

Shop System

Benchmark

Constraint 1.000 EUR 200.000 20%

Target 10.000 EUR 100.000 50%

Page 14: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

14

Evolving goals over time

Selling books in6 months

Development+Operational Costs

Returning customers

Scale # Monthly orders of books

Team Salaries +Hosting Costs

% of Customersordering for asecond time within 2 months

Meter Shop System Financial Accounts

Shop System

Benchmark

Constraint 1.000 EUR 200.000 20%

Target 10.000 EUR 100.000 50%

Increasing book sales in 6 months

Development+Operational Costs

Returning customers

Scale # Monthly orders of books

Team Salaries +Hosting Costs

% of Customersordering for asecond time within 2 months

Meter Shop System Financial Accounts

Shop System

Benchmark 7.500 EUR 180.000 27%

Constraint 15.000 EUR 200.000 20%

Target 50.000 EUR 100.000 50%

Page 15: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

15

Brainstorming experiments

Page 16: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

16

Story Maps

Page 17: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

17

Impact Mapping

Specification-By-Example

Optimizing and refining scope

Story Mapping

Why?

How?Code

AcceptanceCriteria

Epics

Deliverables, Outputs

Impacts, Outcomes

Easier to define upfront Harder to define upfront

User Activities

User Stories

Examples

Goals

Page 18: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

18

Story Maps

• Concept byJeff Patton•Helps optimizing

for desired impact/outcome•User path through

the system• Skeleton for

user stories

Page 19: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

19

Building story mapsMainstream shoppers

get booksfaster/more convenient

Find book I want

Collect books

Completeorder

Wait forbook

Receive book

time

browse best

sellers

put into basket

enter address

receivedelivery

slip

receive delivery notificat.

pay with credit card

search book by

title

create wish list

inquiry order status

Scenario delivers output(deliverable)

useractivities

systemfeatures

ne

cess

ity

Order books online

Page 20: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

20

Walkingskeleton

Enablingbuild – measure - learn

Find book I want

Collect books

Completeorder

Wait forbook

Receive book

time

browse best

sellers

enter address

receivedelivery

slip

pay with credit card

search book by

title

create wish list

inquiry order status

put into basket

receive delivery notificat.

ne

cess

ity

manualworkaround

omittedsteps

Feedback

Mainstream shoppersget books

faster/more convenient

Order books online

Page 21: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

21

Story Map Example: eVoting System

Provision and support

Nominate candidates

Vote and determine results

Page 22: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

22

Sprint 1

Nominate candidates

Page 23: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

23

Sprint 2

Nominate candidates

Page 24: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

24

Sprint 3

Vote and determine results

Page 25: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

25

Sprint 4

Provision and support

Page 26: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

26

Not implemented functionality

Page 27: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

27

Added functionality

Page 28: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

28

Creation of Story Maps

Page 29: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

29

Product Design with Story Maps

Page 30: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

30

Tools

Page 31: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

31

Transport and Conservation

Page 32: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

32

Specification-By-Example

Page 33: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

33

Impact Mapping

Story Mapping

Specification-By-Example

Establishing a shared understanding

Why?

How?

Code

AcceptanceCriterion

Epic

Capability

Impact, Goal

Easier to define upfront Harder to define upfront

Bugreport

Isolated,formalizedexample

Feature

User Story

Example

Reminderfor adiscussion

Page 34: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

34

UI wire frames,existing UI

rules, key examples

existing artifacts,samples

Examples for user stories

Page 35: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

35

Specification-by-Example

Examples …• make abstract descriptions

better understandable

However …• examples are usually not formally

exchanged or documentedBrian Marick

Examples Tests

Requirements

consist of

describe verifyfulfillment of

Page 36: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

36

Discussion of acceptance criteria

public void TestInitialOrderDiscount()

{

Customer newCustomer = new Customer();

Order newOrder = new Order(newCustomer);

newOrder.AddBook(

Catalog.Find(“ISBN-0955683610”)

);

Assert.Equals(33.75,

newOrder.Subtotal);

}

Register as “bart_bookworm”Go to “/catalog/search”Enter “ISBN-0955683610”Click “Search”Click “Add to Cart”Click “View Cart”Verify “Subtotal” is “$33.75”

We would like to encourage new users to buy in our shop.Therefore we offer 10% discount for their first order.

Original idea for the illustration: George Dinwiddiehttp://blog.gdinwidiee.com

Page 37: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

37

… illustrated with formalized examples

Given the user has not ordered yet

When the user adds a book with the price of EUR 37.5

into the shopping cart

Then the shopping cart sub-total is EUR 33.75.

Original idea for the illustration: George Dinwiddiehttp://blog.gdinwidiee.com

Page 38: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

38

Discover hidden assumptions

Actually, this is not quite right:Books on sale should be excluded.

Original idea for the illustration: George Dinwiddiehttp://blog.gdinwidiee.com

Page 39: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

39

Collaboration: 3 amigos

“HappyPath”

Technical feasability

Exceptions, border cases

Original idea for the illustration: George Dinwiddiehttp://blog.gdinwidiee.com

Page 40: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

40

Purpose of the examples

• Shared understanding:acceptance criteria

• Documentation:Look-up detail aspectsof the system

• Regression-tests:Understand whatassumptions have been violated

Page 41: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

41

Continuous validation with automation

Given my shopping basket contains 1 copy of “Harry Potter”

When I add the book “Harry Potter” to my shopping basket

Then my shopping basket should contain 2 copies of “Harry Potter”

System

„Step Definitions“ are binding individual stepsto an automatable interface of the application.

Automatableinterface

UIAutomation

Automation does not necessarily have to bind to the UI.

Automatability of system is supported/evolving with development.

Page 42: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

42

Linking within ALM

Refinement forSprint planning

Link with Sprint Backlog(Tasks, Taskboard, Burndown)

Drill into Details(Specification-By-Example)

Page 43: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

43

Summary

Impact Maps• Discover the unknown• Identify and evaluate experiments for

impacts towards goal

Story Maps• Optimize scope and UX for specific outcome• Prioritize for rapid learning through

delivery and feedback

Specification-By-Example• Establish shared understanding• Living documentation and continuous validation

Page 44: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

44

Books

Gojko AdzicImpact Mapping

Gojko AdzicSpecification byExample

Page 45: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

45

Page 46: From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

46 Christian Hassa: [email protected] - @chrishassa