42
CHRISTIAN HASSA ([email protected]) TWITTER: @CHRISHASSA Budapest Agile MeetUp, May 9 th 2013 Story Maps in practice enable early feedback to build what really matters

Story Maps in practice

  • Upload
    chassa

  • View
    8.227

  • Download
    0

Embed Size (px)

DESCRIPTION

Build – Measure – Learn is one of the most important mechanisms of agile software development. However, this mechanism is often crippled in nowadays projects, where traditional approaches of requirements gathering are bloating up product backlogs that cannot be prioritized anymore in a meaningful way. The results are customers not interested in iteration results, release to production that happens only at the end of the project, and feedback from customers when it is already too late and the budget is burned up. Story mapping is a method that aligns user stories along desirable outcomes, so that customers can give sooner meaningful feedback, and release to production can happen earlier. The method helps slicing and prioritizing user stories, and addresses the product design aspect that is missing when just working with a product backlog. The method is highly visual and facilitates shared product ownership among product owner, team and customer. This presentation provide an introduction to the concept of story mapping, with examples and experience gathered in own projects.

Citation preview

Page 1: Story Maps in practice

CHRISTIAN HASSA ([email protected])

TWITTER: @CHRISHASSA

Budapest Agile MeetUp, May 9th 2013

Story Maps in practiceenable early feedback to build what really matters

Page 2: Story Maps in practice

2

About TechTalk• Agile consulting and delivery• Offices: Vienna, Budapest, Zurich

TechTalk Team

Page 3: Story Maps in practice

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: Story Maps in practice

4

User Stories

Page 5: Story Maps in practice

5

• Describe user needs or features• Unit of planning/prioritization• Future options for evolving the system• Reminder for a conversation• Deferring detail to the last responsible

moment

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: Story Maps in practice

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: Story Maps in practice

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: Story Maps in practice

8

delivering softwarethat generates

Impact

Page 9: Story Maps in practice

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: Story Maps in practice

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 of mainstream books,Shopper of rarely available books,Shipping Department, Hackers

Impact triggering behavior change to help/obstruct goalShopper of mainstream books:• Receive books quicker• find popular books more easily

Deliverables or features supporting/preventingthese impacts (behavior changes):Shopper of mainstream books:• Receive books quicker

• order books online• semi-automated distribution center

Page 11: Story Maps in practice

11

Defining Impacts as User Stories

As a Shopper of mainstream books

I want to order books online

So that I can receive books quicker.

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

Actor Impact Deliverable

Actor

Impact

Deliverable

Page 12: Story Maps in practice

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 systemdatabase

0

1.000

10.000

Tom Gilb: Competitive Engineering, PLANGUAGE

Page 13: Story Maps in practice

13

Combining Goals

Selling books in6 months

Development+Operational Costs

Returning customers

Scale # Monthly orders of books

Team Salaries +Operation Costs

% of Customersordering for asecond time within 2 months

Meter Shop System database

Financial Accounts

Shop System

Benchmark

Constraint 1.000 EUR 200.000 20%

Target 10.000 EUR 100.000 50%

Page 14: Story Maps in practice

14

Evolving goals over time

Selling books in6 months

Development+Operational Costs

Returning customers

Scale # Monthly orders of books

Team Salaries +Operation Costs

% of Customersordering for asecond time within 2 months

Meter Shop System database

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 +Operation Costs

% of Customersordering for asecond time within 2 months

Meter Shop System database

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: Story Maps in practice

15

Brainstorming experiments

Page 16: Story Maps in practice

16

Story Maps

Page 17: Story Maps in practice

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: Story Maps in practice

18

Incremental development

1 2 3 4 5

Requires specifying the solution in detail upfront.

Hard to estimate, errors are hard to correct, no adaption possible.

Hard to provide feedback on incremental shipment.

From: Jeff Patton, Story Map Workshop

Page 19: Story Maps in practice

19

Iterative development

1 2 3

Allows to refine the solution.

Allows for feedback to better understand the problem.

4 5

From: Jeff Patton, Story Map Workshop

Page 20: Story Maps in practice

20

Story Maps

• Concept byJeff Patton

• Prioritize for impact/outcome

• Optimize design for user goal

• Inject features to support user scenario

Page 21: Story Maps in practice

21

Building story mapsImpact: Shopper ofmainstream books

receive books quicker

Find book I want

Collect books

Commitorder

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

Deliverable achieving impact(Scenario delivers output)

useractivities

systemfeatures

ne

cess

ity

Order books online

Page 22: Story Maps in practice

22

Walkingskeleton

Enablingbuild – measure - learn

Find book I want

Collect books

Commitorder

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

Does the deliverableachieve the impact?

Impact: Shopper ofmainstream books

receive books quicker

Order books online

Does the impacthelp the business goal?

Page 23: Story Maps in practice

23

Iterative delivery of featuresBase RequirementsMinimum for demo. „walking skeleton“. Not for production.

Example: Form with mandatory fields without validation.

Capability and FlexibilityVariations of usage. Additional functions, sub-functions.

Example: lookup-control, optional fields

SecuritySecurity for users and stakeholders

Examples: Input validation, additional business rules

Usability, PerformanceMore efficient, attractive, easier to use

Example: auto-complete, UI-design, hotkeys

From: Jeff Patton, Story Map Workshop

Page 24: Story Maps in practice

24

Iterative planning for the release• Opening Game: simplest possible path,

„Walking Skeleton“• Mid Game: flexibility, capability and security• End-Game: fine-tuning, performance,

buffer for unexpected

timeuncertainty decreases over time

un

cert

ain

ty

OpeningGame

Build up necessities

Mid-GameBuild out flexibility and business rules

enforcement

End-GameRefine the UI and interactions, take

advantage of iterative learning

From: Jeff Patton, Story Map Workshop

Page 25: Story Maps in practice

25

Realized business value

End GameFine-tuning in the end.

Mid GameBuild features. “Meat” for the “walking skeleton”.

Opening GameFocus on understanding the problem. Are we building the right product?

time

real

ized

bu

sin

ess

valu

e

From: Jeff Patton, Story Map Workshop

Page 26: Story Maps in practice

26

Learning curve

End GameFine-tuning in the end.

Mid GameBuild features. “Meat” for the “walking skeleton”.

Opening GameFocus on understanding the problem. Are we building the right product?

timeacq

uir

ed p

rod

uct

kn

ow

led

ge

From: Jeff Patton, Story Map Workshop

Page 27: Story Maps in practice

27

Story Map Example: eVoting System

Provision and support

Nominate candidates

Vote and determine results

Page 28: Story Maps in practice

28

Sprint 1

Nominate candidates

Page 29: Story Maps in practice

29

Sprint 2

Nominate candidates

Page 30: Story Maps in practice

30

Sprint 3

Vote and determine results

Page 31: Story Maps in practice

31

Sprint 4

Provision and support

Page 32: Story Maps in practice

32

Not implemented functionality

Page 33: Story Maps in practice

33

Added functionality

Page 34: Story Maps in practice

34

Creation of Story Maps

Page 35: Story Maps in practice

35

Product Design with Story Maps

Page 36: Story Maps in practice

36

Tools

Page 37: Story Maps in practice

37

Transport and Conservation

Page 38: Story Maps in practice

38

Linking within ALM

Refinement forSprint planning

Link with Sprint Backlog(Tasks, Taskboard, Burndown)

Drill into Details(Specification-By-Example)

Page 39: Story Maps in practice

39

Summary

Impact Maps• Define business goals• Brainstorm impacts on actors to support

(not obstruct) business goals• Evaluate deliverables achieving impact

Story Maps• Prioritize a deliverable to achieve impact• Optimize a deliverable for user goal• Inject features to support given user scenario

Page 40: Story Maps in practice

40

Books

Gojko AdzicImpact Mapping

Page 41: Story Maps in practice

41

Page 42: Story Maps in practice

43

Further information

• SpecLog: www.speclog.net

• XP Conference Vienna: xp2013.org, June 3rd-7th

• Agile Trainings: www.techtalk.at/scrum-trainingsGojko Adzic, Mitch Lacey, Gaspar Nagy

• Q&A: after the Pizza• Email: [email protected] – Twitter: @chrishassa

Working at [email protected] - http://experts.techtalk.athttp://www.techtalk.at/TechTalk/Jobs.aspx