User Story Mapping
– Rounding out your backlog
Steve Rogalsky




   @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


    A use case will often contain many user stories

Outcome: Explain what a user story is (and isn’t)
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                         • 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)
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],                             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)
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)
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)
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)
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?
   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
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
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
Take the Purple cards and
                            re-sort them

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

User Tasks




User Stories




 Outcome: Demonstrate the ability to create a User Story Map
Time
  Priorities




                                                              Releases
Outcome: Demonstrate the ability to create a User Story Map
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
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
Outcome: Demonstrate the ability to create a User Story Map
Outcome: Demonstrate the ability to slice user stories in your map
Take the Green cards and
                          re-sort them

Outcome: Describe the benefits of User Story Mapping
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
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
Take the Pink cards and re-
                           sort them
Outcome: Explain the difference between iterative and incremental and
how that relates to User Story Mapping
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
THANKS!                          Questions?

Contact Info

steve.rogalsky@protegra.com

      @srogalsky

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

S rogalsky user-storymapping

  • 1.
    User Story Mapping –Rounding out your backlog Steve Rogalsky @srogalsky winnipegagilist.blogspot.com
  • 2.
    Agree / Disagree/ Not Sure Credit: Monty Python Argument Clinic
  • 3.
    Outcome: Demonstrate theability to create a User Story Map
  • 4.
    About Me • Agilistand 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. Demonstratethe 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
  • 6.
    Outcome: Explain whata user story is (and isn’t)
  • 7.
    What User Storiesare 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 Storiesare 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 Storiesare 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 Storiesare 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 Storiesare… 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 Storiesare… 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)
  • 17.
    Outcome: Explain whata user story is (and isn’t)
  • 18.
    Take the Bluecards and re- sort them Outcome: Explain what a user story is (and isn’t)
  • 19.
    Outcome: Demonstrate theability to slice user stories in your map
  • 20.
    Why slice? User Story Slices go here: Outcome:Demonstrate the ability to slice user stories in your map
  • 21.
    How not toSlice? 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 Purplecards and re-sort them Outcome: Demonstrate the ability to slice user stories in your map
  • 25.
    User Activities User Tasks UserStories Outcome: Demonstrate the ability to create a User Story Map
  • 26.
    Time Priorities Releases Outcome: Demonstrate the ability to create a User Story Map
  • 27.
    Outcome: Demonstrate theability to create a User Story Map
  • 28.
    Outcome: Describe thebenefits of User Story Mapping
  • 29.
    Outcome: Describe thebenefits of User Story Mapping
  • 30.
    Outcome: Describe thebenefits of User Story Mapping
  • 31.
    Outcome: Describe thebenefits of User Story Mapping
  • 32.
    How to doit? 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 doit? 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
  • 34.
    Outcome: Demonstrate theability to create a User Story Map
  • 35.
    Outcome: Demonstrate theability to slice user stories in your map
  • 36.
    Take the Greencards 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 thedifference between iterative and incremental and how that relates to User Story Mapping
  • 39.
    Outcome: Explain thedifference between iterative and incremental and how that relates to User Story Mapping
  • 40.
    Outcome: Explain thedifference between iterative and incremental and how that relates to User Story Mapping
  • 41.
    Outcome: Explain thedifference between iterative and incremental and how that relates to User Story Mapping
  • 42.
    Outcome: Explain thedifference between iterative and incremental and how that relates to User Story Mapping
  • 43.
    Outcome: Explain thedifference between iterative and incremental and how that relates to User Story Mapping
  • 44.
    Outcome: Explain thedifference between iterative and incremental and how that relates to User Story Mapping
  • 45.
    Outcome: Explain thedifference between iterative and incremental and how that relates to User Story Mapping
  • 46.
    , Outcome: Explain thedifference 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 Pinkcards 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