Steve Rogalsky
User Story Mapping – Rounding out your backlog
@srogalsky
winnipegagilist.blogspot.com
Agree / Disagree / Not Sure
Credit: Monty Python Argument Clinic
Group
Task
Group
Task Task Task
Group
Task Task
About Me
• Agilist and team member at Protegra in Winnipeg – (It says “Application Architect” on my business
card)• A Founder of Winnipeg Agile User Group
http://www.agilewinnipeg.com • Twitter: @srogalsky• http://winnipegagilist.blogspot.com
User Stories
What is a User Story
User Story Slicing
How to create them?
Why bother?
Iterative vs. Incremental
User Story Mapping
Learning Outcomes
What User Stories are not
Tasks • Create user table• Create password
encryption service• Create login
service• Create CSS • Create page
template• Add login button
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.
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
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
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.
“A place holder for a conversation.”
What User Stories are…
I Independent *N Negotiable (can be prioritized)V Valuable (to a user)E EstimableS SmallT Testable
Formats
By the book:
As a [role], I want to [some action], so that [goal]
As a [mom] I want to [login with my pwd] so that [I can gain access to the site]
Formats
Who
What
Why
As a [mom] I want to [login with my pwd] so that [I can gain access to the site]
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
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]
Take the Blue cards and re-sort them
Why slice?
User Story Slices go here:
How not to Slice?
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
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
Take the Purple cards and re-sort them
User Tasks
User Activities
User Stories
Time
Prio
rities
Releases
How to do it?1. Divide into groups of 3-5 people2. 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 tasks6. Prioritize top to bottom7. Break into releases
How to do it?smithcdau (@smithcdau)11-08-11 2:12 PMRT @shanehastie: @jeffpatton if you're arguing about sequence it probably means it doesn't matter. #Agile2011 #yam
Take the Green cards and re-sort them
Iterative1 2 3 4 5
Credit: Jeff Patton
Incremental
,
Iterative Advantages
• Validate your architecture and solution early
• See and test the whole application early
• Encourages important stories to be built first
Iterative Advantages
• Elicits improved feedback on the whole application early
• Deliver your application early as early as possible
• Discourages "gold plating" • Helps contain scope
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
Take the Pink cards and re-sort them
Our Final Map
Group
Task
Group
Task Task Task
Group
Task Task
winnipegagilist.blogspot.com
@srogalsky
Contact Info
Questions?THANKS!
http://www.slideshare.net/SteveRogalsky/user-story-mapping-8289080