S rogalsky user-storymapping

Preview:

DESCRIPTION

User Story Mapping

Citation preview

Steve Rogalsky

User Story Mapping

– Rounding out your backlog

@srogalsky

winnipegagilist.blogspot.com

Agree / Disagree / Not Sure

Credit: Monty Python Argument Clinic

Outcome: Demonstrate the ability to create a User Story Map

About Me

• Agilist and team member at Protegra in Winnipeg

– (It says “Application Architect” on my business card)

• Founder of Winnipeg Agile User Group

• @srogalsky

• http://winnipegagilist.blogspot.com

Learning Outcomes

1. Demonstrate the ability to create a User Story Map – (You’ll create three)

2. Explain what a user story is (and isn’t)

3. Demonstrate the ability to slice user stories in your map

4. Describe the benefits of User Story Mapping

5. Explain the difference between iterative and incremental and how that relates to User Story Mapping

Outcome: Explain what a user story is (and isn’t)

What User Stories are not

Tasks • Create user table

• Create password

encryption service

• Create login service

• Create CSS

• Create page

template

• Add login button

Outcome: Explain what a user story is (and isn’t)

What User Stories are not

Big*

• Login page

• “the web site”

• 160 hours of effort

* Exception – stories that are in the distance can be big. These stories will shrink in size and grow in detail as they get closer to being implemented.

Outcome: Explain what a user story is (and isn’t)

What User Stories are not

Use cases • Login Use Case

– Happy path:

• Login w/ valid pwd

– Alternate Paths:

• Login w/ invalid pwd

• Forgot password

• Reset password

• Password rules

Outcome: Explain what a user story is (and isn’t)

A use case will often contain many user stories

What User Stories are not

A document • Login.docx

• “this document, by

its very size, ensures

that it will never be

read.” – Sir Winston

Churchill

Outcome: Explain what a user story is (and isn’t)

What User Stories are…

A small piece of

functionality that

provides some value

to a user

• As a user, I want to

login with my

password, so that I

can gain access to

the site.

Outcome: Explain what a user story is (and isn’t)

“A place holder for a conversation.”

What User Stories are…

I Independent *

N Negotiable (can be prioritized)

V Valuable (to a user)

E Estimable

S Small

T Testable

Outcome: Explain what a user story is (and isn’t)

Formats

By the book:

As a [role],

I want to

[some action],

so that

[goal]

As a [user]

I want to

[login with my pwd]

so that

[I can gain access to

the site]

Outcome: Explain what a user story is (and isn’t)

Formats

Who

What

Why

As a

[user]

I want to

[login with my pwd]

so that

[I can gain access to

the site]

Outcome: Explain what a user story is (and isn’t)

The “by the book” format is great for learning, but at its core, it is just Who/What/Why

Formats

Title; Sentence;

Acceptance Tests

• Title: Login w/ pwd

• Login w/ password and

show welcome page

• Test upper, lower,

numbers, special

characters, accents,

spaces

• Test mandatory lengths

• Test invalid pwds

Outcome: Explain what a user story is (and isn’t)

Formats

Lean Startup:

Feature

[X]

will move Metric

[Y]

Feature

[show sad face before

logging off]

will move Metric

[time spent logged into

the site]

Outcome: Explain what a user story is (and isn’t)

Outcome: Explain what a user story is (and isn’t)

Take the Blue cards and re-

sort them

Outcome: Explain what a user story is (and isn’t)

Outcome: Demonstrate the ability to slice user stories in your map

Why

slice?

User Story

Slices go

here:

Outcome: Demonstrate the ability to slice user stories in your map

How not to Slice?

Outcome: Demonstrate the ability to slice user stories in your map

Tasks • Create user table

• Create password

encryption service

• Create login service

• Create CSS

• Create page

template

• Add login button

How to Slice?

• By screen (for basic screens

only)

• By button

• By group of fields

• By workflow step

• Optional workflow steps

• Validation

• Error handling *

• Admin functions

(maintaining drop downs,

etc)

• By priority

• By applying the INVEST

model

• By acceptance criteria

• By option

• By role

• By Subjective quality

(never by objective

quality: always be

defect free)

• By value

Outcome: Demonstrate the ability to slice user stories in your map

Other Tips

• Keep them as stories!

• Slice them small when needed, but

don’t get silly

• Slice any time

• When you are fighting over your

planning poker estimates – slice away.

• Slice more liberally if the story is higher

priority

Outcome: Demonstrate the ability to slice user stories in your map

Outcome: Demonstrate the ability to slice user stories in your map

Take the Purple cards and

re-sort them

Outcome: Demonstrate the ability to create a User Story Map

User Tasks

User Activities

User Stories

Outcome: Demonstrate the ability to create a User Story Map

Time

Prio

rities

Releases

Outcome: Demonstrate the ability to create a User Story Map

Outcome: Describe the benefits of User Story Mapping

Outcome: Describe the benefits of User Story Mapping

Outcome: Describe the benefits of User Story Mapping

Outcome: Describe the benefits of User Story Mapping

How to do it? 1. Divide into groups of 3-5 people

2. Start by gathering “things people do” – the tasks. Write them down individually and then read them aloud to your group

– Likely they start with a verb.

– These are high level user stories called “Tasks” (walking skeleton)

– This forms your story map skeleton

3. Group them silently (simply because it is faster)

4. Name the groups and lay them out in order of time (left to right)

– These are called “User Activities” (backbone)

5. Add more detailed user stories below the main tasks

6. Prioritize top to bottom

7. Break into releases

Outcome: Demonstrate the ability to create a User Story Map

Outcome: Demonstrate the ability to create a User Story Map

Outcome: Demonstrate the ability to slice user stories in your map

Outcome: Describe the benefits of User Story Mapping

Take the Green cards and

re-sort them

Iterative

Outcome: Explain the difference between iterative and

incremental and how that relates to User Story Mapping

1 2 3 4 5

Credit: Jeff Patton

Incremental

Outcome: Explain the difference between iterative and

incremental and how that relates to User Story Mapping

Outcome: Explain the difference between iterative and

incremental and how that relates to User Story Mapping

Outcome: Explain the difference between iterative and

incremental and how that relates to User Story Mapping

Outcome: Explain the difference between iterative and

incremental and how that relates to User Story Mapping

Outcome: Explain the difference between iterative and

incremental and how that relates to User Story Mapping

Outcome: Explain the difference between iterative and

incremental and how that relates to User Story Mapping

Outcome: Explain the difference between iterative and

incremental and how that relates to User Story Mapping

Outcome: Explain the difference between iterative and

incremental and how that relates to User Story Mapping

Outcome: Explain the difference between iterative and

incremental and how that relates to User Story Mapping

,

Iterative Advantages

• Validate your architecture and solution

early

• See and test the whole application early

• Encourages important stories to be built

first

Outcome: Explain the difference between iterative and

incremental and how that relates to User Story Mapping

Iterative Advantages

• Elicits improved feedback on the whole

application early

• Deliver your application early as early as

possible

• Discourages "gold plating"

• Helps contain scope

Outcome: Explain the difference between iterative and

incremental and how that relates to User Story Mapping

Iterative Disadvantages

• Your code and design has to be change

tolerant

• You have to be proficient at slicing your

user stories

• You won't know the final solution at

the beginning of the project

Outcome: Explain the difference between iterative and

incremental and how that relates to User Story Mapping

Outcome: Explain the difference between iterative and incremental and

how that relates to User Story Mapping

Take the Pink cards and re-

sort them

Our Final Map

As a table, choose 2 of the outcomes

Outcome: Demonstrate the ability to create a User Story Map

1. Demonstrate the ability to create a User Story Map

2. Explain what a user story is (and isn’t)

3. Demonstrate the ability to slice user stories in your map

4. Describe the benefits of User Story Mapping

5. Explain the difference between iterative and incremental and how that relates to User Story Mapping

winnipegagilist.blogspot.com

@srogalsky

steve.rogalsky@protegra.com

Contact Info

Questions? THANKS!

http://www.slideshare.net/SteveRogalsky/user-story-mapping-8289080

Recommended