User Stories for Your Product Backlog - Mountain Goat Software · 2020-05-21 · User Stories for...

Post on 25-Jun-2020

8 views 0 download

Transcript of User Stories for Your Product Backlog - Mountain Goat Software · 2020-05-21 · User Stories for...

User Stories for YourProduct Backlog

Mike CohnApril 14, 2008

® © 2003–2008 Mountain Goat Software®

Mike Cohn - background

1

2

® © 2003–2008 Mountain Goat Software®

® © 2003–2008 Mountain Goat Software®

Ron Jeffries’ Three Cs

Source: XP Magazine 8/30/01, Ron Jeffries.

3

4

® © 2003–2008 Mountain Goat Software®

Samples from a travel website

so that I save time

booking trips I take

often.

® © 2003–2008 Mountain Goat Software®

Where are the details?

• As a user, I can cancel a reservation.

• Does the user get a full or partial refund?

• Is the refund to her credit card or is it site credit?

• How far ahead must the reservation be cancelled?

• Is that the same for all hotels?

• For all site visitors? Can frequent travelers cancel later?

• Is a confirmation provided to the user?

• How?

5

6

® © 2003–2008 Mountain Goat Software®

Details as conditions of satisfaction

• The product owner’s conditions of satisfaction can be added to a story

• These are essentially tests

® © 2003–2008 Mountain Goat Software®

Details added in smaller sub-stories

7

8

® © 2003–2008 Mountain Goat Software®

Techniques can be combined

• These approaches are not mutually exclusive

• Write stories at an appropriate level

• By the time it’s implemented, each story will have conditions of satisfaction associated with it

® © 2003–2008 Mountain Goat Software®

9

10

® © 2003–2008 Mountain Goat Software®

“The User”

• Many projects mistakenly assume there’s only one user:

• “The user”

• Write all stories from one user’s perspective

• Assume all users have the same goals

• Leads to missing stories

® © 2003–2008 Mountain Goat Software®

Common attributes

11

12

® © 2003–2008 Mountain Goat Software®

User roles

• Broaden the scope from looking at one user

• Allows users to vary by

• What they use the software for

• How they use the software

• Background

• Familiarity with the software / computers

• Used extensively in usage-centered designSource: Software for Use by Constantine and Lockwood (1999).

® © 2003–2008 Mountain Goat Software®

System and programmer users

13

14

® © 2003–2008 Mountain Goat Software®

Decorated roles

® © 2003–2008 Mountain Goat Software®

User role modeling

15

16

® © 2003–2008 Mountain Goat Software®

® © 2003–2008 Mountain Goat Software®

17

18

® © 2003–2008 Mountain Goat Software®

The product backlog iceberg

Sprint

Release

FutureReleases

Priority

® © 2003–2008 Mountain Goat Software®

Stories, themes and epicsUser StoryA description of desired functionality told from the perspective of the user or customer.

ThemeA collection of related user stories.

EpicA large user story.

19

20

® © 2003–2008 Mountain Goat Software®

An example

Clearly an epic

Epics??

® © 2003–2008 Mountain Goat Software®

An example

21

22

® © 2003–2008 Mountain Goat Software®

Finally, add the Conditions Of Satisfaction

® © 2003–2008 Mountain Goat Software®

Another example

Clearly an epic

Epics??

23

24

® © 2003–2008 Mountain Goat Software®

An example

® © 2003–2008 Mountain Goat Software®

Story-writing workshops

• Includes developers, users, customer, others

• Brainstorm to generate stories

• Goal is to write as many stories as possible

• Some will be “implementation ready”

• Others will be “epics”

• No prioritization at this point

25

26

® © 2003–2008 Mountain Goat Software®

Start with epics and iterate

® © 2003–2008 Mountain Goat Software®

Or start with a mindmap

27

28

® © 2003–2008 Mountain Goat Software®

A story-writing workshop

“As a <user role>,I want <goal>so that <reason>.”

Use this template

® © 2003–2008 Mountain Goat Software®

29

30

® © 2003–2008 Mountain Goat Software®

then

“You built what I

asked for, but it’s

not what I need.”

® © 2003–2008 Mountain Goat Software®

Words are imprecise

31

32

® © 2003–2008 Mountain Goat Software®

® © 2003–2008 Mountain Goat Software®

What are we building?1.The product shall have a gas engine.2.The product shall have four wheels.

2.1.The product shall have a rubber tire mounted to each wheel.

3.The product shall have a steering wheel.4.The product shall have a steel body.

Source: Adapted from The Inmates are Running the Asylum by Alan Cooper (1999).

33

34

® © 2003–2008 Mountain Goat Software®

What if we had stories instead?

® © 2003–2008 Mountain Goat Software®

The product

35

36

® © 2003–2008 Mountain Goat Software®

Mike Cohnmike@mountaingoatsoftware.comwww.mountaingoatsoftware.com

(720) 890 6110 (office)(303) 810 2190 (mobile)

37