SlideShare uma empresa Scribd logo
1 de 25
User Story Workshop
            Steve Rogalsky

User Story Experience                      Seating Plan

Zero                                       Sit on the Left
Lots                                                         Sit on the right
In between                                         Sit in the middle
©2008 Protegra Inc. All rights reserved.
Learning Outcomes

1. Describe the characteristics of
   a good user story

2. Be able to write a good user
   story


                                     2
Example Scenario


Social Recipe Site
•   Amir (our hero) loves to cook and tell everyone about his culinary
    prowess. His little known secret is that he uses a web site in order to
    search for, rate, and select popular recipes. He likes that he can
    search for recipes by popularity and type so that he can impress his
    guests. He also appreciates that he can privately annotate and
    comment on recipes that he has tried so that he can keep track of
    which recipes were popular with his guests and also so that he
    doesn’t repeat that recipe for the same guest at a later date.
Develop a list of interesting things the system could do
to provide some kind of value to an end user like Amir.
•   (Think quantity, not quality)


                                                                        3
Why User Stories


Frequent Delivery Mechanism




                              4
Why User Stories


Outcome based
• But… still allow you to calculate, estimate, and
  budget based on output




                                                     5
Why User Stories


They are Light weight
• Focus on scope not detail




                              6
Why User Stories


Placeholder for a conversation
• Documents are not a great tool for common
   understanding so we tell stories.
• The key is the conversation that occurs.
• The story is a record/pointer/reminder of that
   conversation.
• Create them together, not in isolation




                                                   7
Why User Stories


They are Boundary objects
• They contain scope




                            8
Why is it important to write good user stories?


As an office worker, I want to send an e-mail so that
my co-workers can have a full inbox.




                                                        9
Why is it important to write good user stories?


As an office worker, I want to send an e-mail so that
my co-workers can have a full inbox.




                                                        10
Formats


Traditional
• As a [role], I want to [some action], so that [goal/result]
•       [who]             [what]                 [why]
   -   This format is a great thinking tool




Reverse (start with why)
• In order to [goal/result], as a [user], I want to [some
  action]
•              [why]                [who]             [what]

                                                          11
Formats


• A Bad Example
  - As a CFO I want more features so that we can make more
    revenue




                                                             12
Formats


Other
• Title / Sentence / Acceptance Tests
• Card / Conversation / Confirmation
• Feature [X] will move metric [Y] - Lean Startup




                                                    13
Example Scenario


Social Recipe Site
•   Mark (our hero) owns and operates a small town
    catering business. He regularly posts recipes on the
    site and some of his popular recipes have earned
    him free product as a thank you from suppliers such
    as Kraft. He has started to diversify his recipe
    submissions to reach a wider audience and likes to
    view his submission dashboard to see real time
    updates of his recipe popularity and comments.




                                                           14
INVEST – Independent
Don’t mix priorities; try to make the order of development un-important


• Bad
    - As a recipe contributor, I want a dashboard that shows my
      recipes, ratings, and comments so that I can find this
      information in one place.
• Good
    - As a recipe contributor, I want to see a list of the recipes that
      I have contributed so that I can select one for editing or
      reviewing.
    - As a recipe contributor, I want to see the comments for each
      of my recipes so that I can respond to any questions.
    - As a recipe contributor, I want to see the ratings for each of
      my recipes so that I can improve my contributions.

                                                                      15
INVEST – Negotiable
Allow room for the team to have control over the solution


• Bad…
    - As a recipe contributor, I want to post recipes including title,
      description, instructions, pictures and a list of attributes
      to choose from multi-select list boxes such as season,
      culture, time to prep, recipe size, estimated cost so that my
      recipes can be displayed in targeted search results.
• Good
    - As a recipe contributor, I want to post basic recipe and photo
      information with searchable fields so that users can find and
      view my recipe.
    - As a recipe contributor, I want to set attributes for my recipes
      so that it can be displayed in targeted search results.


                                                                    16
INVEST – Valuable
Once complete, the story provides value to a user or stakeholder


• Bad
    - As a developer, I want to create a recipe database
      table, so that I can store recipe details
    - As a developer, I want to call a recipe web service to
      retrieve recipe details
    - As a developer, I want to create the recipe list UI.
• Good
    - As a recipe contributor, I want to see a list of the
      recipes that I have contributed so that I can select
      one for editing or reviewing.




                                                                   17
INVEST – Estimable
We understand it well enough to be able to estimate it (relatively)


• Bad
    - As a website owner, I want the website to be secure
      so that I don’t have angry customers
• Good
    - As a recipe contributor, I want to be the only one who
      can edit my recipes so that I have confidence in the
      site.




                                                                      18
INVEST – Small
Too big is hard to estimate, too small is too detailed


• Bad
    - As a recipe contributor I want to see stats so that I can understand
      which of my recipes are the most effective
    - As a recipe contributor I want the submitted date time for each
      recipe to be set automatically
• Good
    - As a recipe contributor I want to see the number of views per
      recipe per day for each of my recipes so that I can understand
      which of my recipes are the most effective.




                                                                    19
INVEST – Testable
We can define tests that help us understand when it is done

•   Bad
    -   As a website owner I want to the site to be useable so that I can enter
        recipes easily
•   Good
    -   Option 1: Using tests to define “usable”
         • As a recipe contributor, I want to post basic recipe and photo information
             that allows users to search for and view my recipe.
                 -   Test: Recipes should be entered within 30 seconds 80% of the time.
    -   Option 2: Write a usability user story (this story might be created later in a product lifecycle – after
        the site is already live):
           • As a website owner I want the recipe contribution functionality to be rated
               at least 4.2/5 on a usability survey so that I am confident that recipes can be
               entered easily.
    -   Option 3: Lean Startup
           • Feature [simplify recipe entry] will move metric [% of recipe contributors
               that complete their contributions]
                                                                                                       20
Non Functional Requirements/Constraints


Some tips:
• Create a check list of constraints that each story
  is compared against
• Write them as tests
• Sometimes they can be written as stories
   - (examples as above with security, usability)




                                                       21
Details, details, details


Add details later – just in time
•   It is ok and common to record a few things about
    each story at the beginning:
     -   A few bullets on the types acceptance tests
     -   Constraints (non-functional requirements)
     -   A few drawings
     -   Etc
•   Add and confirm details later once the story has been
    selected as one of the next few to be delivered.




                                                            22
Last Thoughts on User Stories


• Stories shrink in size and grow in detail
  over time.
• Planning Poker helps you make sure your
  stories are INVEST; They also add to the
  conversation.




                                              23
Revisiting the first example


• Self correct your original statements using
  INVEST and one of these formats (5 minutes):
   - As a [user] I want to [some action] so that
     [goal/result]
   - In order to [goal/result], as a [user], I want
     to [some action]
• Review your corrections as a group (5 minutes)
• Large Group Discussion (10 minutes)




                                                      24
To Summarize

User Stories
1.    Communicate!
2.    INVEST
   I - Independent
   N - Negotiable
   V - Valuable
   E - Estimable
   S - Small
   T - Testable
3.    Scope statements

steve.rogalsky@protegra.co      @srogalsky
m
     blog.protegra.com
                             winnipegagilist.blogspot.com
                                                    25

Mais conteúdo relacionado

Mais procurados

User Story Mapping - mini iad 2014 (Armani, Rodriguez)
User Story Mapping - mini iad 2014 (Armani, Rodriguez)User Story Mapping - mini iad 2014 (Armani, Rodriguez)
User Story Mapping - mini iad 2014 (Armani, Rodriguez)
Fabio Armani
 
Techniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh JainTechniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh Jain
Naresh Jain
 

Mais procurados (20)

Story maps and personas an intro
Story maps and personas   an introStory maps and personas   an intro
Story maps and personas an intro
 
Story Mapping in Depth
Story Mapping in DepthStory Mapping in Depth
Story Mapping in Depth
 
Agile cymru Slicing Stories July 2015
Agile cymru   Slicing Stories July 2015Agile cymru   Slicing Stories July 2015
Agile cymru Slicing Stories July 2015
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
Analysis In Agile: It's More than Just User Stories
Analysis In Agile: It's More than Just User StoriesAnalysis In Agile: It's More than Just User Stories
Analysis In Agile: It's More than Just User Stories
 
Product Backlog Mapping
Product Backlog MappingProduct Backlog Mapping
Product Backlog Mapping
 
User Story Maps: Secrets for Better Backlogs and Planning
 User Story Maps: Secrets for Better Backlogs and Planning User Story Maps: Secrets for Better Backlogs and Planning
User Story Maps: Secrets for Better Backlogs and Planning
 
User story mapping workshop slideshare
User story mapping workshop slideshareUser story mapping workshop slideshare
User story mapping workshop slideshare
 
User Stories and User Story Mapping by Jason Jones
User Stories and User Story Mapping by Jason JonesUser Stories and User Story Mapping by Jason Jones
User Stories and User Story Mapping by Jason Jones
 
User Stories
User StoriesUser Stories
User Stories
 
User Story Mapping - mini iad 2014 (Armani, Rodriguez)
User Story Mapping - mini iad 2014 (Armani, Rodriguez)User Story Mapping - mini iad 2014 (Armani, Rodriguez)
User Story Mapping - mini iad 2014 (Armani, Rodriguez)
 
Techniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh JainTechniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh Jain
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
Effective story slicing
Effective story slicingEffective story slicing
Effective story slicing
 
Agile coach - roadmap and user story map
Agile coach - roadmap and user story map Agile coach - roadmap and user story map
Agile coach - roadmap and user story map
 
Agile Requirements Stories and Backlogs
Agile Requirements Stories and BacklogsAgile Requirements Stories and Backlogs
Agile Requirements Stories and Backlogs
 
How to Organize a User Story Writing Workshop
How to Organize a User Story Writing WorkshopHow to Organize a User Story Writing Workshop
How to Organize a User Story Writing Workshop
 
User story mapping
User story mappingUser story mapping
User story mapping
 
"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta
 
Story Mapping in a Nutshell
Story Mapping in a NutshellStory Mapping in a Nutshell
Story Mapping in a Nutshell
 

Destaque

Destaque (12)

User Stories Workshop For Agile Product Development
User Stories Workshop For Agile Product DevelopmentUser Stories Workshop For Agile Product Development
User Stories Workshop For Agile Product Development
 
Agile and user story workshop Peter Saddington
Agile and user story workshop   Peter SaddingtonAgile and user story workshop   Peter Saddington
Agile and user story workshop Peter Saddington
 
User Story Workshop
User Story WorkshopUser Story Workshop
User Story Workshop
 
Writing User Stories (04/2012)
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)
 
ATDD And BDD The Great Beat Down…or…Debate
ATDD And BDD The Great Beat Down…or…DebateATDD And BDD The Great Beat Down…or…Debate
ATDD And BDD The Great Beat Down…or…Debate
 
Agile Architecture and Modeling - Where are we Today
Agile Architecture and Modeling - Where are we TodayAgile Architecture and Modeling - Where are we Today
Agile Architecture and Modeling - Where are we Today
 
Agile Requirements Decomposition
Agile Requirements DecompositionAgile Requirements Decomposition
Agile Requirements Decomposition
 
Agile Modeling
Agile ModelingAgile Modeling
Agile Modeling
 
Epics and User Stories
Epics and User StoriesEpics and User Stories
Epics and User Stories
 
User Story Mapping, Discover the whole story
User Story Mapping, Discover the whole storyUser Story Mapping, Discover the whole story
User Story Mapping, Discover the whole story
 
User Story Mapping in Practice
User Story Mapping in PracticeUser Story Mapping in Practice
User Story Mapping in Practice
 
Writing Agile Requirements
Writing  Agile  RequirementsWriting  Agile  Requirements
Writing Agile Requirements
 

Semelhante a User Story Workshop

HostingCon - Using agile to deliver projects that transform customers from do...
HostingCon - Using agile to deliver projects that transform customers from do...HostingCon - Using agile to deliver projects that transform customers from do...
HostingCon - Using agile to deliver projects that transform customers from do...
ixwebhosting
 

Semelhante a User Story Workshop (20)

User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
 
Make your website work for you
Make your website work for youMake your website work for you
Make your website work for you
 
Backlog Management & Discovery
Backlog Management & DiscoveryBacklog Management & Discovery
Backlog Management & Discovery
 
Website optimization for SaaS conversions - muHive
Website optimization for SaaS conversions - muHiveWebsite optimization for SaaS conversions - muHive
Website optimization for SaaS conversions - muHive
 
Fast Prototyping Customer Development Mock Ups 2014
Fast Prototyping Customer Development Mock Ups 2014Fast Prototyping Customer Development Mock Ups 2014
Fast Prototyping Customer Development Mock Ups 2014
 
How to Create Engaging Content for Marketers - #WCPHX
How to Create Engaging Content for Marketers - #WCPHXHow to Create Engaging Content for Marketers - #WCPHX
How to Create Engaging Content for Marketers - #WCPHX
 
Customer Development Fast Protyping
Customer Development Fast ProtypingCustomer Development Fast Protyping
Customer Development Fast Protyping
 
User Stories Applied
User Stories AppliedUser Stories Applied
User Stories Applied
 
Agile: JAD Requirements Elicitation
Agile:  JAD Requirements ElicitationAgile:  JAD Requirements Elicitation
Agile: JAD Requirements Elicitation
 
Usability Testing To Prioritize Your Designs
Usability Testing To Prioritize Your DesignsUsability Testing To Prioritize Your Designs
Usability Testing To Prioritize Your Designs
 
HostingCon - Using agile to deliver projects that transform customers from do...
HostingCon - Using agile to deliver projects that transform customers from do...HostingCon - Using agile to deliver projects that transform customers from do...
HostingCon - Using agile to deliver projects that transform customers from do...
 
Using Agile Methodology to Deliver Projects That Transform Customers from Dou...
Using Agile Methodology to Deliver Projects That Transform Customers from Dou...Using Agile Methodology to Deliver Projects That Transform Customers from Dou...
Using Agile Methodology to Deliver Projects That Transform Customers from Dou...
 
Building Startups and Minimum Viable Products (NDC2013)
Building Startups and Minimum Viable Products (NDC2013)Building Startups and Minimum Viable Products (NDC2013)
Building Startups and Minimum Viable Products (NDC2013)
 
Agile gathering + guidelines stories
Agile gathering + guidelines storiesAgile gathering + guidelines stories
Agile gathering + guidelines stories
 
Splitting User Stories
Splitting User StoriesSplitting User Stories
Splitting User Stories
 
Surviving a Hackathon and Beyond
Surviving a Hackathon and BeyondSurviving a Hackathon and Beyond
Surviving a Hackathon and Beyond
 
Putting personas to work - University of Edinburgh Website Programme
Putting personas to work - University of Edinburgh Website ProgrammePutting personas to work - University of Edinburgh Website Programme
Putting personas to work - University of Edinburgh Website Programme
 
Jw may presentation
Jw may presentationJw may presentation
Jw may presentation
 
Cut the Baloney Sandwich - Jacqueline Stetson Pastore
Cut the Baloney Sandwich - Jacqueline Stetson PastoreCut the Baloney Sandwich - Jacqueline Stetson Pastore
Cut the Baloney Sandwich - Jacqueline Stetson Pastore
 
UX Field Research Toolkit - A Workshop at Big Design - 2017
UX Field Research Toolkit - A Workshop at Big Design - 2017UX Field Research Toolkit - A Workshop at Big Design - 2017
UX Field Research Toolkit - A Workshop at Big Design - 2017
 

Mais de Steve Rogalsky

Mais de Steve Rogalsky (17)

Story Maps: Episode IV - A New Slice
Story Maps: Episode IV - A New SliceStory Maps: Episode IV - A New Slice
Story Maps: Episode IV - A New Slice
 
Retrospectives: from Whatever to Wow
Retrospectives: from Whatever to WowRetrospectives: from Whatever to Wow
Retrospectives: from Whatever to Wow
 
Agile in Winnipeg:.a retrospective
Agile in Winnipeg:.a retrospectiveAgile in Winnipeg:.a retrospective
Agile in Winnipeg:.a retrospective
 
Your Design is only Mostly Dead
Your Design is only Mostly DeadYour Design is only Mostly Dead
Your Design is only Mostly Dead
 
Trends in Agile Software
Trends in Agile SoftwareTrends in Agile Software
Trends in Agile Software
 
A Guide to Lean Coffee
A Guide to Lean CoffeeA Guide to Lean Coffee
A Guide to Lean Coffee
 
Silent Brainstorming: A Guide To Using Post-its
Silent Brainstorming: A Guide To Using Post-itsSilent Brainstorming: A Guide To Using Post-its
Silent Brainstorming: A Guide To Using Post-its
 
The Silence of Agile
The Silence of AgileThe Silence of Agile
The Silence of Agile
 
Agile101 Small Batches
Agile101 Small BatchesAgile101 Small Batches
Agile101 Small Batches
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
Multitaskers Anonymous
Multitaskers AnonymousMultitaskers Anonymous
Multitaskers Anonymous
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
Moving Towards Zero Defects with Specification by Example
Moving Towards Zero Defects with Specification by ExampleMoving Towards Zero Defects with Specification by Example
Moving Towards Zero Defects with Specification by Example
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
Winnipeg Agile Users Group March 10 2011
Winnipeg Agile Users Group March 10 2011Winnipeg Agile Users Group March 10 2011
Winnipeg Agile Users Group March 10 2011
 
Using Value Stream Mapping to make the case for Acceptance Test Driven Develo...
Using Value Stream Mapping to make the case for Acceptance Test Driven Develo...Using Value Stream Mapping to make the case for Acceptance Test Driven Develo...
Using Value Stream Mapping to make the case for Acceptance Test Driven Develo...
 

Último

Último (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

User Story Workshop

  • 1. User Story Workshop Steve Rogalsky User Story Experience Seating Plan Zero Sit on the Left Lots Sit on the right In between Sit in the middle ©2008 Protegra Inc. All rights reserved.
  • 2. Learning Outcomes 1. Describe the characteristics of a good user story 2. Be able to write a good user story 2
  • 3. Example Scenario Social Recipe Site • Amir (our hero) loves to cook and tell everyone about his culinary prowess. His little known secret is that he uses a web site in order to search for, rate, and select popular recipes. He likes that he can search for recipes by popularity and type so that he can impress his guests. He also appreciates that he can privately annotate and comment on recipes that he has tried so that he can keep track of which recipes were popular with his guests and also so that he doesn’t repeat that recipe for the same guest at a later date. Develop a list of interesting things the system could do to provide some kind of value to an end user like Amir. • (Think quantity, not quality) 3
  • 4. Why User Stories Frequent Delivery Mechanism 4
  • 5. Why User Stories Outcome based • But… still allow you to calculate, estimate, and budget based on output 5
  • 6. Why User Stories They are Light weight • Focus on scope not detail 6
  • 7. Why User Stories Placeholder for a conversation • Documents are not a great tool for common understanding so we tell stories. • The key is the conversation that occurs. • The story is a record/pointer/reminder of that conversation. • Create them together, not in isolation 7
  • 8. Why User Stories They are Boundary objects • They contain scope 8
  • 9. Why is it important to write good user stories? As an office worker, I want to send an e-mail so that my co-workers can have a full inbox. 9
  • 10. Why is it important to write good user stories? As an office worker, I want to send an e-mail so that my co-workers can have a full inbox. 10
  • 11. Formats Traditional • As a [role], I want to [some action], so that [goal/result] • [who] [what] [why] - This format is a great thinking tool Reverse (start with why) • In order to [goal/result], as a [user], I want to [some action] • [why] [who] [what] 11
  • 12. Formats • A Bad Example - As a CFO I want more features so that we can make more revenue 12
  • 13. Formats Other • Title / Sentence / Acceptance Tests • Card / Conversation / Confirmation • Feature [X] will move metric [Y] - Lean Startup 13
  • 14. Example Scenario Social Recipe Site • Mark (our hero) owns and operates a small town catering business. He regularly posts recipes on the site and some of his popular recipes have earned him free product as a thank you from suppliers such as Kraft. He has started to diversify his recipe submissions to reach a wider audience and likes to view his submission dashboard to see real time updates of his recipe popularity and comments. 14
  • 15. INVEST – Independent Don’t mix priorities; try to make the order of development un-important • Bad - As a recipe contributor, I want a dashboard that shows my recipes, ratings, and comments so that I can find this information in one place. • Good - As a recipe contributor, I want to see a list of the recipes that I have contributed so that I can select one for editing or reviewing. - As a recipe contributor, I want to see the comments for each of my recipes so that I can respond to any questions. - As a recipe contributor, I want to see the ratings for each of my recipes so that I can improve my contributions. 15
  • 16. INVEST – Negotiable Allow room for the team to have control over the solution • Bad… - As a recipe contributor, I want to post recipes including title, description, instructions, pictures and a list of attributes to choose from multi-select list boxes such as season, culture, time to prep, recipe size, estimated cost so that my recipes can be displayed in targeted search results. • Good - As a recipe contributor, I want to post basic recipe and photo information with searchable fields so that users can find and view my recipe. - As a recipe contributor, I want to set attributes for my recipes so that it can be displayed in targeted search results. 16
  • 17. INVEST – Valuable Once complete, the story provides value to a user or stakeholder • Bad - As a developer, I want to create a recipe database table, so that I can store recipe details - As a developer, I want to call a recipe web service to retrieve recipe details - As a developer, I want to create the recipe list UI. • Good - As a recipe contributor, I want to see a list of the recipes that I have contributed so that I can select one for editing or reviewing. 17
  • 18. INVEST – Estimable We understand it well enough to be able to estimate it (relatively) • Bad - As a website owner, I want the website to be secure so that I don’t have angry customers • Good - As a recipe contributor, I want to be the only one who can edit my recipes so that I have confidence in the site. 18
  • 19. INVEST – Small Too big is hard to estimate, too small is too detailed • Bad - As a recipe contributor I want to see stats so that I can understand which of my recipes are the most effective - As a recipe contributor I want the submitted date time for each recipe to be set automatically • Good - As a recipe contributor I want to see the number of views per recipe per day for each of my recipes so that I can understand which of my recipes are the most effective. 19
  • 20. INVEST – Testable We can define tests that help us understand when it is done • Bad - As a website owner I want to the site to be useable so that I can enter recipes easily • Good - Option 1: Using tests to define “usable” • As a recipe contributor, I want to post basic recipe and photo information that allows users to search for and view my recipe. - Test: Recipes should be entered within 30 seconds 80% of the time. - Option 2: Write a usability user story (this story might be created later in a product lifecycle – after the site is already live): • As a website owner I want the recipe contribution functionality to be rated at least 4.2/5 on a usability survey so that I am confident that recipes can be entered easily. - Option 3: Lean Startup • Feature [simplify recipe entry] will move metric [% of recipe contributors that complete their contributions] 20
  • 21. Non Functional Requirements/Constraints Some tips: • Create a check list of constraints that each story is compared against • Write them as tests • Sometimes they can be written as stories - (examples as above with security, usability) 21
  • 22. Details, details, details Add details later – just in time • It is ok and common to record a few things about each story at the beginning: - A few bullets on the types acceptance tests - Constraints (non-functional requirements) - A few drawings - Etc • Add and confirm details later once the story has been selected as one of the next few to be delivered. 22
  • 23. Last Thoughts on User Stories • Stories shrink in size and grow in detail over time. • Planning Poker helps you make sure your stories are INVEST; They also add to the conversation. 23
  • 24. Revisiting the first example • Self correct your original statements using INVEST and one of these formats (5 minutes): - As a [user] I want to [some action] so that [goal/result] - In order to [goal/result], as a [user], I want to [some action] • Review your corrections as a group (5 minutes) • Large Group Discussion (10 minutes) 24
  • 25. To Summarize User Stories 1. Communicate! 2. INVEST I - Independent N - Negotiable V - Valuable E - Estimable S - Small T - Testable 3. Scope statements steve.rogalsky@protegra.co @srogalsky m blog.protegra.com winnipegagilist.blogspot.com 25

Notas do Editor

  1. Combined prioritiesSomething that is dependentIndependent goal.
  2. Show us your best ones. Let us evaluate based on INVEST.