SlideShare a Scribd company logo
User Story
  Mapping:
Rounding Out
Your Backlog
User Story Mapping
Group          Group          Group




Task    Task   Task    Task   Task    Task
Jeff Patton
Steve Rogalsky
@srogalsky      winnipegagilist.blogspot.com   protegra.com

                Continuous Improvement
             Process Hacker Family
             Agile Teaching People First
             Application Architect Inclusive
               Models Problem Solving
              Coach Test First Change
               Agent Lean Retro Cartoon Fan

                                                     5   5
What’s the problem?
User Story Mapping
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         • As a user, I want to
functionality that         login with my
provides some value to     password, so that I
a user                     can gain access to
                           the site.


     “A place holder for a conversation.”
Formats
By the book:

As a [role],         As a [mom]
I want to            I want to
[some action],       [login with my pwd]
so that              so that
[goal]               [I can gain access to the
                     site]
Formats
                              As a
Who                           [mom]
                              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
User Story Mapping
User
Stories go
here
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
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
User Story Mapping
User Story Mapping
So
what?
User Story Mapping
Some Definitions




                                                     Priorities
Time

User Activities (Backbone)

User Tasks (Walking
Skeleton)




 User Stories




                                          Releases
Iterative
1   2       3         4      5




        Incremental



                          Credit: Jeff Patton
User Story Mapping
User Story Mapping
User Story Mapping
User Story Mapping
User Story Mapping
User Story Mapping
User Story Mapping
User Story Mapping
,
Wrap Up
• Make better decisions
• Increase your ability to delivery
• Allay fears of agile sceptics
Links
• Two articles from Jeff:
   – http://www.agileproductdesign.com/blog/the_new_bac
     klog.html
   – http://www.agileproductdesign.com/writing/how_you_
     slice_it.pdf
• Online User Story Mapping:
   – http://www.cardmapping.com
• DotNetRocks podcast:
   – http://www.dotnetrocks.com/default.aspx?showNum=
     750
THANKS! Questions?


Contact Info

steve.rogalsky@protegra.com

       @srogalsky

       winnipegagilist.blogspot.com
http://www.slideshare.net/SteveRogalsky/
User Story Mapping
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     • 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 (maintaining     quality: always be
    drop downs, etc)
                                     defect free)
                                   • By value

More Related Content

User Story Mapping

  • 1. User Story Mapping: Rounding Out Your Backlog
  • 3. Group Group Group Task Task Task Task Task Task
  • 5. Steve Rogalsky @srogalsky winnipegagilist.blogspot.com protegra.com Continuous Improvement Process Hacker Family Agile Teaching People First Application Architect Inclusive Models Problem Solving Coach Test First Change Agent Lean Retro Cartoon Fan 5 5
  • 8. What User Stories are not Tasks • Create user table • Create password encryption service • Create login service • Create CSS • Create page template • Add login button
  • 9. 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.
  • 10. 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
  • 11. 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
  • 12. What User Stories are… A small piece of • As a user, I want to functionality that login with my provides some value to password, so that I a user can gain access to the site. “A place holder for a conversation.”
  • 13. Formats By the book: As a [role], As a [mom] I want to I want to [some action], [login with my pwd] so that so that [goal] [I can gain access to the site]
  • 14. Formats As a Who [mom] 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
  • 17. 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
  • 18. 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
  • 23. Some Definitions Priorities Time User Activities (Backbone) User Tasks (Walking Skeleton) User Stories Releases
  • 24. Iterative 1 2 3 4 5 Incremental Credit: Jeff Patton
  • 33. ,
  • 34. Wrap Up • Make better decisions • Increase your ability to delivery • Allay fears of agile sceptics
  • 35. Links • Two articles from Jeff: – http://www.agileproductdesign.com/blog/the_new_bac klog.html – http://www.agileproductdesign.com/writing/how_you_ slice_it.pdf • Online User Story Mapping: – http://www.cardmapping.com • DotNetRocks podcast: – http://www.dotnetrocks.com/default.aspx?showNum= 750
  • 36. THANKS! Questions? Contact Info steve.rogalsky@protegra.com @srogalsky winnipegagilist.blogspot.com http://www.slideshare.net/SteveRogalsky/
  • 39. How not to Slice? Tasks • Create user table • Create password encryption service • Create login service • Create CSS • Create page template • Add login button
  • 40. 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 (maintaining quality: always be drop downs, etc) defect free) • By value

Editor's Notes

  1. Step 1: Generate tasksSplit up into groups of 3 to 5As individuals, think about your morning routine – the things you do.Write down each thing you do on one post-it note. Have everyone in your group use the same colour post-it for this exercise.Step 2: Read them outHave each person read their post-its out loud to the group and then place them in the middle of the table so that you can see all the post-its at once.Comments: Notice the similarities between your post-its and other peoples. Notice also that if you missed a few things, somebody else came up with the missing tasks. You probably all have things like “Brush Teeth”, “Get Dressed”, “Eat breakfast”. All starting with verbs.Step 3: GroupNow as a group, and without talking, move the post-its that are similar to each other closer to each other, and those that are not similar, move them farther apart. Those that are exact duplicates you can eliminate or put on top of each other.Step 4: Name the groupsYou should now have some distinct groups. As a group again, start labeling these groups with a different colour post-it. Just put the group name on top of the grouping.Step 5: Now re-arrange your groups in order of time from left to right. Put the group post-it at the top and the tasks below the group, but still in order left to right.(At this point, show a simple example)Overall comments:Your first user story map!The groups are called “User Activities” – this is the backbone of your applicationThe items below are called “User Tasks” – this is the walking skeleton of your application
  2. Deliver greatest value earlyPrioritizing (different interests)Difficult to see the storiesHard to ‘groom’Hard to see if you covered everything adequately
  3. Boundary Object (scope). If used properly, you can use it to keep other scope out.Each story encompass all layers of the system. No value to the user without the layersHas value when completed
  4. We’re going to create a second map with some more detail and more relevance to software. You can move your old map out of the way.Practice – build your own MS Outlook competitor.Step 1: Generate tasksSplit up into groups of 3 to 5As individuals, think about your usage of your favourite e-mail toolWrite down each thing you do on one post-it note. Have everyone in your group use the same colour post-it for this exercise.Step 2: Read them outHave each person read their post-its out loud to the group and then place them in the middle of the table so that you can see all the post-its at once.Comments: Notice the similarities between your post-its and other peoples. Notice also that if you missed a few things, somebody else came up with the missing tasks. You probably all have things like “Send Email”, “Read Email”, “View Calendar”, “Create Contact”, etc.Again, all starting with verbs.Step 3: GroupNow as a group, and without talking, move the post-its that are similar to each other closer to each other, and those that are not similar, move them farther apart. Those that are exact duplicates you can eliminate or put on top of each other.Step 4: Name the groupsYou should now have some distinct groups. As a group again, start labeling these groups with a different colour post-it. Just put the group name on top of the grouping.Step 5: Now re-arrange your groups in order of time from left to right. Put the group post-it at the top and the tasks below the group, but still in order left to right.Overall comments:Your second user story map!Reminder:The groups are called “User Activities” – this is the backbone of your applicationThe items below are called “User Tasks” – this is the walking skeleton of your applicationNotice how fast you were able to create a reasonable outline for your whole application?Keep this map as we will be adding to it shortly. At this point we have no user stories.
  5. In your user story map you should probably have a “Compose Email” or “Create Email” user task under the “Email Management” user activity or something similar. (if not, then what kind of e-mail have you been using?)We’re going to create the stories that go under that User Activity.Step 1: Generate tasksSplit up into groups of 3 to 5As individuals, think about creating an e-mail and write one user story (just the title, don’t worry about the rest) on each post-it. Slice each story thinly.Again, have everyone in your group use the same colour post-it for this exercise but use a different colour than the ones you have used so far.Step 2: Read them outHave each person read their post-its out loud to the group and then place them in the middle of the table so that you can see all the post-its at once.Again:Notice the similarities between your post-its and other peoples. Notice also that if you missed a few things, somebody else came up with the missing tasks. Step 3: GroupNow as a group, and without talking, move the post-its that are similar to each other closer to each other, and those that are not similar, move them farther apart. Those that are exact duplicates you can eliminate or put on top of each other.Step 4: PrioritizeInstead of naming our groups, this time we are just going to prioritize them top to bottom. The ones at the top will be created first and the others second.Think about the order that each piece would have to be built (again, reminder of the I in INVEST)If you are disagreeing about any story, feel free to split it again if you can.You can do this out loud.Overall comments:Again, notice how fast you were able to create a reasonable outline for your whole application? Has requirements gathering ever been this fast for you?You would repeat this for each activity and there are other requirements facilitation techniques to use like personas, scenarios, UX Design Studio, etc. These models are all inclusive models. They involve everyone and take advantage of all ideas without resorting to the trouble that is brainstorming or even writing down the correct interview questions in order to generate your high level scope and requirements.Do this with your customer!!!
  6. For PM: Scope, statusFor QA: testFor Product Owner: prioritize, groomSupport dreaming while deliveringFor arch: validate the architectureFor company: deliver early
  7. Notice how if we turn this upside down it looks suspiciously like a user story map?
  8. Notice how if we turn this upside down it looks suspiciously like a user story map?
  9. Notice the similarities to Prune the Product Tree - #InnovationGames – the
  10. Talk – keep them as stories. Remember INVEST.
  11. Highlighted my favourite ones…