4. 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
5. 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
7. 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)
8. 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)
9. 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
Outcome: Explain what a user story is (and isn’t)
10. 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)
11. What User Stories are…
A small piece of • As a user, I want to
functionality that login with my
provides some value password, so that I
to a user can gain access to
the site.
“A place holder for a conversation.”
Outcome: Explain what a user story is (and isn’t)
12. 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)
13. Formats
By the book:
As a [role], As a [user]
I want to I want to
[some action], [login with my pwd]
so that so that
[goal] [I can gain access to
the site]
Outcome: Explain what a user story is (and isn’t)
14. Formats
As a
Who [user]
I want to
What [login with my pwd]
so that
Why [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
Outcome: Explain what a user story is (and isn’t)
15. Formats
Title; Sentence; • Title: Login w/ pwd
Acceptance Tests • 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)
16. Formats
Lean Startup:
Feature Feature
[X] [show sad face before
logging off]
will move Metric will move Metric
[Y] [time spent logged into
the site]
Outcome: Explain what a user story is (and isn’t)
21. How not to Slice?
Tasks • Create user table
• Create password
encryption service
• Create login service
• Create CSS
• Create page
template
• Add login button
Outcome: Demonstrate the ability to slice user stories in your map
22. How to Slice?
• By screen (for basic screens • By priority
only)
• By applying the INVEST
• By button model
• By group of fields • By acceptance criteria
• By workflow step • By option
• Optional workflow steps • By role
• Validation • By Subjective quality
• Error handling * (never by objective
• Admin functions quality: always be
(maintaining drop downs,
etc)
defect free)
• By value
Outcome: Demonstrate the ability to slice user stories in your map
23. 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
24. Take the Purple cards and
re-sort them
Outcome: Demonstrate the ability to slice user stories in your map
32. 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
33. How to do it?
smithcdau (@smithcdau)
11-08-11 2:12 PM
RT @shanehastie: @jeffpatton if you're arguing
about sequence it probably means it doesn't
matter. #Agile2011 #yam
Outcome: Demonstrate the ability to create a User Story Map
36. Take the Green cards and
re-sort them
Outcome: Describe the benefits of User Story Mapping
37. Iterative
1 2 3 4 5
Incremental
Outcome: Explain the difference between iterative and
incremental and how that relates to User Story Mapping Credit: Jeff Patton
38. Outcome: Explain the difference between iterative and
incremental and how that relates to User Story Mapping
39. Outcome: Explain the difference between iterative and
incremental and how that relates to User Story Mapping
40. Outcome: Explain the difference between iterative and
incremental and how that relates to User Story Mapping
41. Outcome: Explain the difference between iterative and
incremental and how that relates to User Story Mapping
42. Outcome: Explain the difference between iterative and
incremental and how that relates to User Story Mapping
43. Outcome: Explain the difference between iterative and
incremental and how that relates to User Story Mapping
44. Outcome: Explain the difference between iterative and
incremental and how that relates to User Story Mapping
45. Outcome: Explain the difference between iterative and
incremental and how that relates to User Story Mapping
46. ,
Outcome: Explain the difference between iterative and
incremental and how that relates to User Story Mapping
47. 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
48. 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
49. 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
50. Take the Pink cards and re-
sort them
Outcome: Explain the difference between iterative and incremental and
how that relates to User Story Mapping
51. Our Final Map
As a table, choose 2 of the outcomes
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
Outcome: Demonstrate the ability to create a User Story Map
52. THANKS! Questions?
Contact Info
steve.rogalsky@protegra.com
@srogalsky
winnipegagilist.blogspot.com
http://www.slideshare.net/SteveRogalsky/user-story-mapping-8289080