SlideShare a Scribd company logo
1 of 45
Download to read offline
User Stories
 21st Century Requirements
your instructor

              Derek
              Neighbors
              derek@integrumtech.com
              @dneighbors
What Makes a Story?
 Card
  Stories are traditionally written on note cards and they may be annotated with notes,
  estimates, etc.




 Conversation
  Details behind the story come out during conversations with the product owner.




 Confirmation
  Acceptance tests confirm the story was coded correctly
What Is a Story Card?

  Short description of user- or customer-
  valued functionality. The visible part of a
  story, but the important parts are the
  conversations between the customer and
Who writes a story card?

  The customer team writes the story cards because they
  are in the best position to express the desired features
  and because they must later be able to work out story
  details with developers and to prioritize the stories.

  The customer team includes those who ensure that the
  software will meet the needs of its intended users. This
  may include testers, product manager, real users and
  interaction designers.
Why User Stories?
Understood equally well by everyone
Useful for iteration planning
Encourage deferring of details
Great for iterative development
Support opportunistic design
Emphasize verbal communication
POp Quiz!
1. What are the three parts of a user story?
2.Who is on the customer team?
3.What advantages do requirements
  conversations have over requirements
  documents?
User Story Templates

As a <type of user>             In order to <value>
I want to <goal>                as a <customer role>
so that <reason>                I want <some feature>


As a vacationer,
                                In order to determine which
I want to see photos of hotel
                                rooms are the nicest,
rooms,
                                as a vacationer,
so that I can see which have
                                I want to see photos of hotels
the nicest rooms
What Makes a Good Story?
 I    Independent
 N    Negotiable
 V    Valuable
 E    Estimatable
 S    Sized Appropriately
 T    Testable
What Makes a Good Story?
 I    Independent
      Dependencies lead to problems estimating and
      prioritizing. Ideally you can work on a single story
      without pulling in lots of other stories.
What Makes a Good Story?
 N    Negotiable

      Stories are not contracts, they leave (or imply)
      some flexibility.
What Makes a Good Story?
 V    Valuable
      Valuable to users or customers, not developers.
      Rewrite developer stories to reflect value to users
      or customers.
What Makes a Good Story?
 E    Estimatable

      We need to be able to estimate our user stories so
      that we can use them to create a plan.
What Makes a Good Story?
 S    Sized Appropriately

      A story is sized appropriately when it can be
      completed in one iteration.
What Makes a Good Story?
 T    Testable
      You should have an easy and binary way of
      knowing when a story is finished. Done or not
      done; not partially finished or “done... except...”
POP QUIZ!
 Find the bad user stories:

    The user can run the    All graphing and
    system on Windows and   charting will be done
    Linux                   using a 3rd party library




    The soft ware will be   The user can undo up to
    released on June 30th   fifty commands
Workshop #1

 In teams of 3 to 4 write at least 15 user stories for a
 travel website.




                   20m
                       Activity Time
User Role Modeling

  Consider all types of users in a system. Avoid writing
  stories from a single perspective by first identifying
  different user roles that will interact with the system.

  Define relevant attributes for each user role, to better
  see the differences between roles. Some roles do well
  with a persona, an imaginary representation of a user
  role.
User Role Modeling Steps
1.Brainstorm an initial set of user roles
2.Organize the Initial Set
3.Consolidate Roles
4.Refine the Roles
Refining Roles with Attributes
   The frequency with which the user will use the software.
   The user’s level of expertise within the domain.
   The user’s general level of proficiency with computers
   and software.
   The user’s level of proficiency with the software being
   developed.
   The user’s general goal for using the software. Some
   users are after convenience, others favor a rich
   experience, and so on.
User Role Example
    User Role: Internal Recruiter
    Not particularly computer-sav vy but quite adept at
    using the Web. Will use the soft ware infrequently
    but intensely. Will read ads from other companies
    to figure out how to best word her ads. Ease of use
    is important, but more importantly what she learns
    must be easily recalled months later.
Workshop #2

 In teams of 3 to 4 first identify user roles for a travel
 website. Next, refine those roles using attributes.




                   20m
                       Activity Time
How do we gather user stories?
  User Interviews
   Real users with different roles are best.
   What they ask for is not always what
                                               Integrum Tip:
   they want                                   Ask open-ended and context-free
                                               questions. “How would you like to
  Questionnaires                               search for jobs?” vs. “Will you
   Good for large groups of users but not      search for jobs by title?”
   a great primary technique

  Observation
   Helpful for determining how users
   interact with existing systems

  Story-Writing Workshops
   Includes developers, users, customers
   and others. Brainstorm to generate as
   many stories as possible.
Trawling for Requirements
  The idea of eliciting and capturing requirements is
  wrong. It assumes that we already know all requirements
  and that they won’t change.

  Instead, think of trawling for requirements. This
  acknowledges that requirements are of different sizes
  and that they change over time.
Workshop #3

 In teams of 3 to 5 first designate one team member as
 the product owner. Next, run a story workshop for a pet
 adoption website.




                  25m
                     Activity Time
User Proxies
  The User’s Manager
    May not be appropriate unless they are also a user

  Development Managers
    Seemingly a good user proxy due to their involvement, but they’re almost never the
    intended user

  Customers
    Best if they are in close communication with the users for whom they are purchasing
    the software. Even better if they are also a user

  Salespeople
    Very helpful if they have contact with a broad variety of customers, but avoid features
    that could have won the last lost sale

  Domain Experts
    Avoid stories that require a user to be at their level of expertise

  The Marketing Group
    Quality stories vs. Quantity of stories
Customer Team
1. Add real users
2. Identify a product champion         Integrum Tip:
3. Determine the factors critical to   A real user beats a proxy user every
                                       time.
   success




   What problems might occur when using a proxy user?
Workshop #4

 In teams of 3 to 5, each team member should choose a
 user proxy role. Next, briefly interview each user proxy
 using the travel website product. Finally, gather
 shortcomings and possible improvements when using
 user proxies.




                  20m
                      Activity Time
Where are the Details?
                                                           Does the user get a full
       Is confirmation provided
                                                           or partial refund? Is it a
           to the user? How?
                                                            refund or site credit?




                                   As a user, I want to                         Are the terms different for
                                                                                members of the frequent
 How far ahead must the
reservation be cancelled?          cancel a reser vation                              travelers club?




                                                                             Is the process the same
                             How late can the user
                                                                                   for all hotels?
                            cancel the reservation?
Details Added as Smaller STories
                           As a premium member, I can
                           cancel a reservation up to
                           the last minute




As a user, I want to       As a non-premium member, I
                           can cancel a reservation up
cancel a reservation       to 24 hours in advance




                           As a user I am e-mailed a
                           confirmation when I cancel
                           a reservation
Details as Conditions of Satisfaction

 As a user, I want to
 cancel a reservation



Conditions of Satisfaction
   Verify that a premium member can cancel the same day without a fee
   Verify that a premium member is charged 10% for same day cancellation
   Verify that an e-mail confirmation is sent
   Verify that the hotel is notified of the cancellation
Details as Acceptance Criteria
 As a VP of Marketing, I
 want to see information                   Integrum Tip:
 on television advertising                 Ensure that your conditions of
 when viewing historical                   satisfaction or acceptance
 campaigns                                 acceptance criteria help further
                                           define “done.”


Acceptance Criteria
    See how many viewers by age range
    See how many viewers by income level
    See how many viewers by gender
Acceptance Testing
  Acceptance tests are used to express the
  many details that result from
  conversations between customers and
  developers.

 Other Types of Tests
    User interface testing
    Usability testing
    Performance Testing
    Stress Testing
User Workflow Scenarios
                                                    Integrum Tip:
 As a user, I want to
 cancel a reservation                               Draw out simple wireframes to
                                                    explain each step in the user
                                                    workflow.


 When I am viewing my reservation
                                                    How far ahead must the
  I should see a button to cancel my reservation
                                                   reservation be cancelled?
  When I click the ‘cancel reservation’ button
     I should see a confirmation dialog


When I am viewing my reservation more than 24 hours in advance
 ...
When I am viewing my reservation less than 24 hours in advance
 ...
Using Given, Then, When
                                                    The right details?
                                                    Given I am viewing my reservation
 As a user, I want to                               When I click the ‘cancel reservation’ button
 cancel a reservation                               Then I should see a confirmation dialog

                                                    Are fewer details better?
                                                    Given I am viewing my reservation
                                                    When I cancel my reservation
                                                    Then I should be prompted to confirm



  “If you really care about how the behaviour is implemented, you should probably be
  specifying that elsewhere in a more fine-grained story – in other words chunking down
  to provide more detail – that won’t be interesting to the audience of this one. If not, you
  might want to push the detail down into the implementation of the steps.” - Dan North
Acceptance Testing Questions
            What else to                                    What am I assuming
        programmers need to                                about how this story
        know about this story?                             will be implemented?




  What can the user do             As a user, I want to                       What can go wrong
 incorrectly to make this
    story not work as              cancel a reser vation                       during the story?

       expected?




                                                                         Are there circumstances
                            What does the user see
                                                                           when this story may
                            during each step of the
                                                                           behave differently?
                                    story?
Workshop #5

 In teams of 3 to 5, pick one to two stories from a
 previous workshop. Next, generate user workflow
 scenarios or given, when, then scenarios for each.




                  20m
                     Activity Time
Types of User Stories
                                      Story

                          Story                  Story

                    Theme                              Theme
            A collection of related user     A collection of related user


               Theme                                     Theme
    A collection of related user stories      A collection of related user stories


                                       Epic
                                  A large user story
The Backlog Iceberg
 Sprint                 Story

                          Story
 Release
                             Theme
                      A collection of related user


                                  Theme
                       A collection of related user stories
 Future Releases
                                       Epic
                                  A large user story
Epics, Themes and Stories
                                                  As a VP Marketing, I can select
 As a VP Marketing, I want to review
                                                  which type of campaigns (dm, t v,
 the performance of historical
                                                  email, radio, etc) to include when
 promotional campaigns so that I can
                                                  reviewing the performance of
 identify and repeat profitable ones.
                                                  historical promotional campaigns.
                 Epic
                                                               Smaller Epic




           As a VP Marketing, I want to       As a VP Marketing, I want to
           see information on direct          see information on television
           malings when reviewing             advertising when reviewing
           historical campaigns so that ...   historical campaigns so that.....

                   More Detailed                      More Detailed
Breaking down Epics
                    As a frequent flyer I   As a frequent flyer I
                    want to check my        want to book my trip
                    account                 using miles




                                            As a frequent flyer I
                                            want to re-book a
                                            frequent trip

                    As a frequent flyer I
   Frequent Flyer   want to book a trip
                                            As a frequent flyer I
                                            want to request an
                                            upgrade




                                            As a frequent flyer I
                    As a frequent flyer I   want to see special
                    want to...              promotions
Workshop #6

 In teams of 3 to 5, first identify stories from a previous
 workshop which are too large. Next, breakdown the
 large stories into smaller more fine-grained stories.




                   20m
                       Activity Time
Tips for Writing good Stories
    To identify stories, start by considering the goals of each user role in using the
    system.
    When splitting a story, try to come up with stories that cut through all layers of the
    application.
    Create constraint cards and tape to wall or write tests to ensure they are not
    violated.
    Write smaller stories for functionality that will soon be implemented and broad
    stories for functionality further out.
    Keep the user interface out of the stories for as long as possible.
    When practical, include the user role when writing the story.
    Write stories in active voice.
    Write stories for a single user.
    Have the customer, rather than the developer, write the story.
    Keep stories short, and do not forget their purpose as reminders to hold
    conversations.
    Don’t number stories.
Smelly User Stories
   Stories are too small
   Interdependent stories
   Gold plated stories
   Too many details
   Splitting too many stories
   Including user interface details too soon
   Thinking too far ahead
   Trouble prioritizing
   Customer won’t write and prioritize stories
Workshop #7

 In teams of 3 to 5, first gather stories you’ve generated
 from previous workshops. Next, identify good and bad
 user stories and note how they differ.




                   20m
                      Activity Time

More Related Content

What's hot

How to Break the Requirements into User Stories
How to Break the Requirements into User StoriesHow to Break the Requirements into User Stories
How to Break the Requirements into User StoriesShriKant Vashishtha
 
Strategies to split user stories
Strategies to split user storiesStrategies to split user stories
Strategies to split user storiescpolc
 
Cheat Sheet: 8 ways to split your user stories
Cheat Sheet:  8 ways to split your user storiesCheat Sheet:  8 ways to split your user stories
Cheat Sheet: 8 ways to split your user storiesPayton Consulting
 
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 PlanningAaron Sanders
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Storieskahgeh75
 
User Story Splitting
User Story SplittingUser Story Splitting
User Story Splittingtrishly
 
User Story Workshop
User Story WorkshopUser Story Workshop
User Story WorkshopPeter Antman
 
Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Easy Agile
 
IIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaIIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaSteven HK Ma | 馬國豪
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptxPaul Boos
 
Introducing Agile User Stories
Introducing Agile User StoriesIntroducing Agile User Stories
Introducing Agile User StoriesRam Srivastava
 
Ten Concrete Techniques to Split User Stories
Ten Concrete Techniques to Split User StoriesTen Concrete Techniques to Split User Stories
Ten Concrete Techniques to Split User StoriesNight Wolf
 
"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 @jrhuertawebcat
 
Invest In Good User Stories
Invest In Good User StoriesInvest In Good User Stories
Invest In Good User StoriesCraig Brown
 
Breaking down agile requirements in Agile Methodology
Breaking down agile requirements in Agile MethodologyBreaking down agile requirements in Agile Methodology
Breaking down agile requirements in Agile MethodologyMario Lucero
 
User Story Slicing - easy way to split user stories
User Story Slicing - easy way to split user stories  User Story Slicing - easy way to split user stories
User Story Slicing - easy way to split user stories Arto Eskelinen
 

What's hot (20)

How to Break the Requirements into User Stories
How to Break the Requirements into User StoriesHow to Break the Requirements into User Stories
How to Break the Requirements into User Stories
 
Strategies to split user stories
Strategies to split user storiesStrategies to split user stories
Strategies to split user stories
 
Story of user story
Story of user storyStory of user story
Story of user story
 
Cheat Sheet: 8 ways to split your user stories
Cheat Sheet:  8 ways to split your user storiesCheat Sheet:  8 ways to split your user stories
Cheat Sheet: 8 ways to split your user stories
 
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
 
Effective user stories for your agile or Scrum team
Effective user stories for your agile or Scrum teamEffective user stories for your agile or Scrum team
Effective user stories for your agile or Scrum team
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
 
User Story Splitting
User Story SplittingUser Story Splitting
User Story Splitting
 
User Story Workshop
User Story WorkshopUser Story Workshop
User Story Workshop
 
Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Workshop - Writing Good User Stories
Workshop - Writing Good User Stories
 
IIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaIIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteria
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
 
User Story
User StoryUser Story
User Story
 
Introducing Agile User Stories
Introducing Agile User StoriesIntroducing Agile User Stories
Introducing Agile User Stories
 
Ten Concrete Techniques to Split User Stories
Ten Concrete Techniques to Split User StoriesTen Concrete Techniques to Split User Stories
Ten Concrete Techniques to Split User Stories
 
"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
 
Invest In Good User Stories
Invest In Good User StoriesInvest In Good User Stories
Invest In Good User Stories
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
Breaking down agile requirements in Agile Methodology
Breaking down agile requirements in Agile MethodologyBreaking down agile requirements in Agile Methodology
Breaking down agile requirements in Agile Methodology
 
User Story Slicing - easy way to split user stories
User Story Slicing - easy way to split user stories  User Story Slicing - easy way to split user stories
User Story Slicing - easy way to split user stories
 

Viewers also liked

User stories — how to cook a cat?
User stories — how to cook a cat?User stories — how to cook a cat?
User stories — how to cook a cat?Vladimir Tarasov
 
Crafting Great-User-Stories for CapitalCamp DC
Crafting Great-User-Stories for CapitalCamp DCCrafting Great-User-Stories for CapitalCamp DC
Crafting Great-User-Stories for CapitalCamp DCForum One
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User StoriesCarlo Kruger
 
User Story Mapping in Practice
User Story Mapping in PracticeUser Story Mapping in Practice
User Story Mapping in PracticeSteve Rogalsky
 
Let me tell you a story: using stories about people to spread your message
Let me tell you a story:  using stories about people to spread your messageLet me tell you a story:  using stories about people to spread your message
Let me tell you a story: using stories about people to spread your messageKelley Teahen
 
JIRA at ImmobilienScout24
JIRA at ImmobilienScout24JIRA at ImmobilienScout24
JIRA at ImmobilienScout24augbb
 
Atlassian Unite - JIRA beyond issue tracking
Atlassian Unite - JIRA beyond issue tracking  Atlassian Unite - JIRA beyond issue tracking
Atlassian Unite - JIRA beyond issue tracking Atlassian
 
Aufgabenmanagement mit Jira
Aufgabenmanagement mit JiraAufgabenmanagement mit Jira
Aufgabenmanagement mit JiraMartin Seibert
 
Agile comparison with requriement approaches
Agile comparison with requriement approachesAgile comparison with requriement approaches
Agile comparison with requriement approachesfungfung Chen
 
Let me tell you a story - Practical user stories for business analysts
Let me tell you a story - Practical user stories for business analystsLet me tell you a story - Practical user stories for business analysts
Let me tell you a story - Practical user stories for business analystsDavid Morris, MBA
 
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 Developmentzenpdm
 
Agile Requirements Decomposition
Agile Requirements DecompositionAgile Requirements Decomposition
Agile Requirements DecompositionRick Austin
 
As user, I hate user stories
As user, I hate user storiesAs user, I hate user stories
As user, I hate user storiesmatteo cavucci
 
Better User Stories by Matteo Cavucci
Better User Stories by Matteo CavucciBetter User Stories by Matteo Cavucci
Better User Stories by Matteo CavucciBosnia Agile
 
Composing User Stories - Beginners Guide
Composing User Stories - Beginners GuideComposing User Stories - Beginners Guide
Composing User Stories - Beginners GuideRaja Soundaramourty
 
User Stories for Agile Requirements
User Stories for Agile RequirementsUser Stories for Agile Requirements
User Stories for Agile RequirementsMike Cohn
 
User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013Fabio Armani
 
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 SaddingtonPeter Saddington
 

Viewers also liked (20)

Epics and User Stories
Epics and User StoriesEpics and User Stories
Epics and User Stories
 
User stories — how to cook a cat?
User stories — how to cook a cat?User stories — how to cook a cat?
User stories — how to cook a cat?
 
Crafting Great-User-Stories for CapitalCamp DC
Crafting Great-User-Stories for CapitalCamp DCCrafting Great-User-Stories for CapitalCamp DC
Crafting Great-User-Stories for CapitalCamp DC
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User Stories
 
User Story Mapping in Practice
User Story Mapping in PracticeUser Story Mapping in Practice
User Story Mapping in Practice
 
Let me tell you a story: using stories about people to spread your message
Let me tell you a story:  using stories about people to spread your messageLet me tell you a story:  using stories about people to spread your message
Let me tell you a story: using stories about people to spread your message
 
JIRA at ImmobilienScout24
JIRA at ImmobilienScout24JIRA at ImmobilienScout24
JIRA at ImmobilienScout24
 
Atlassian Unite - JIRA beyond issue tracking
Atlassian Unite - JIRA beyond issue tracking  Atlassian Unite - JIRA beyond issue tracking
Atlassian Unite - JIRA beyond issue tracking
 
Aufgabenmanagement mit Jira
Aufgabenmanagement mit JiraAufgabenmanagement mit Jira
Aufgabenmanagement mit Jira
 
Agile comparison with requriement approaches
Agile comparison with requriement approachesAgile comparison with requriement approaches
Agile comparison with requriement approaches
 
Let me tell you a story - Practical user stories for business analysts
Let me tell you a story - Practical user stories for business analystsLet me tell you a story - Practical user stories for business analysts
Let me tell you a story - Practical user stories for business analysts
 
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 Requirements Decomposition
Agile Requirements DecompositionAgile Requirements Decomposition
Agile Requirements Decomposition
 
As user, I hate user stories
As user, I hate user storiesAs user, I hate user stories
As user, I hate user stories
 
Better User Stories by Matteo Cavucci
Better User Stories by Matteo CavucciBetter User Stories by Matteo Cavucci
Better User Stories by Matteo Cavucci
 
Composing User Stories - Beginners Guide
Composing User Stories - Beginners GuideComposing User Stories - Beginners Guide
Composing User Stories - Beginners Guide
 
User Stories
User StoriesUser Stories
User Stories
 
User Stories for Agile Requirements
User Stories for Agile RequirementsUser Stories for Agile Requirements
User Stories for Agile Requirements
 
User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013
 
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
 

Similar to Effective User Stories

User-Stories-for-Agile-Requirements-Norwegian-Developers-Conference-2014.pdf
User-Stories-for-Agile-Requirements-Norwegian-Developers-Conference-2014.pdfUser-Stories-for-Agile-Requirements-Norwegian-Developers-Conference-2014.pdf
User-Stories-for-Agile-Requirements-Norwegian-Developers-Conference-2014.pdfSLowe7
 
User Stories
User Stories User Stories
User Stories Mike Cohn
 
Introduction to User Stories
Introduction to User StoriesIntroduction to User Stories
Introduction to User StoriesMike Cohn
 
Boost Your Intelligent Assistants with UX Testing
Boost Your Intelligent Assistants with UX TestingBoost Your Intelligent Assistants with UX Testing
Boost Your Intelligent Assistants with UX TestingApplause
 
User Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanUser Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanAgile Testing Alliance
 
The Whole Story of The User Story
The Whole Story of The User StoryThe Whole Story of The User Story
The Whole Story of The User StoryXPDays
 
Final presentation
Final presentationFinal presentation
Final presentationBrandon Hill
 
Jason-Phillip Park on Creating User Stories that get your Developers Excited
Jason-Phillip Park on Creating User Stories that get your Developers ExcitedJason-Phillip Park on Creating User Stories that get your Developers Excited
Jason-Phillip Park on Creating User Stories that get your Developers ExcitedCarlos González de Villaumbrosia
 
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazXp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazLaz Allen
 
User stories writing - Codemotion 2013
User stories writing   - Codemotion 2013User stories writing   - Codemotion 2013
User stories writing - Codemotion 2013Stefano Leli
 
Introduction to Agile Requirements, Estimation
Introduction to Agile Requirements, Estimation  Introduction to Agile Requirements, Estimation
Introduction to Agile Requirements, Estimation Abhilash Chandran
 
Colleges yvonne van_laarhoven
Colleges yvonne van_laarhovenColleges yvonne van_laarhoven
Colleges yvonne van_laarhovenDigital Power
 
Backlog Management & Discovery
Backlog Management & DiscoveryBacklog Management & Discovery
Backlog Management & DiscoveryTarun Singh
 
Increase sales with e commerce chat on your commercial website
Increase sales with e commerce chat on your commercial websiteIncrease sales with e commerce chat on your commercial website
Increase sales with e commerce chat on your commercial websiteAndolasoft Inc
 

Similar to Effective User Stories (20)

User Stories Training
User Stories TrainingUser Stories Training
User Stories Training
 
User Stories
User StoriesUser Stories
User Stories
 
User Stories
User StoriesUser Stories
User Stories
 
User-Stories-for-Agile-Requirements-Norwegian-Developers-Conference-2014.pdf
User-Stories-for-Agile-Requirements-Norwegian-Developers-Conference-2014.pdfUser-Stories-for-Agile-Requirements-Norwegian-Developers-Conference-2014.pdf
User-Stories-for-Agile-Requirements-Norwegian-Developers-Conference-2014.pdf
 
User Stories
User Stories User Stories
User Stories
 
Introduction to User Stories
Introduction to User StoriesIntroduction to User Stories
Introduction to User Stories
 
Boost Your Intelligent Assistants with UX Testing
Boost Your Intelligent Assistants with UX TestingBoost Your Intelligent Assistants with UX Testing
Boost Your Intelligent Assistants with UX Testing
 
Defining Done
Defining DoneDefining Done
Defining Done
 
User Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanUser Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh Varadharajan
 
The Whole Story of The User Story
The Whole Story of The User StoryThe Whole Story of The User Story
The Whole Story of The User Story
 
Final presentation
Final presentationFinal presentation
Final presentation
 
Jason-Phillip Park on Creating User Stories that get your Developers Excited
Jason-Phillip Park on Creating User Stories that get your Developers ExcitedJason-Phillip Park on Creating User Stories that get your Developers Excited
Jason-Phillip Park on Creating User Stories that get your Developers Excited
 
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazXp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
 
Basics of ux
Basics of uxBasics of ux
Basics of ux
 
User stories writing - Codemotion 2013
User stories writing   - Codemotion 2013User stories writing   - Codemotion 2013
User stories writing - Codemotion 2013
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
Introduction to Agile Requirements, Estimation
Introduction to Agile Requirements, Estimation  Introduction to Agile Requirements, Estimation
Introduction to Agile Requirements, Estimation
 
Colleges yvonne van_laarhoven
Colleges yvonne van_laarhovenColleges yvonne van_laarhoven
Colleges yvonne van_laarhoven
 
Backlog Management & Discovery
Backlog Management & DiscoveryBacklog Management & Discovery
Backlog Management & Discovery
 
Increase sales with e commerce chat on your commercial website
Increase sales with e commerce chat on your commercial websiteIncrease sales with e commerce chat on your commercial website
Increase sales with e commerce chat on your commercial website
 

More from Derek Neighbors

Agile Estimating and Planning
Agile Estimating and PlanningAgile Estimating and Planning
Agile Estimating and PlanningDerek Neighbors
 
Evolution - Hacking Innovation Roofcamp Philippines
Evolution - Hacking Innovation Roofcamp PhilippinesEvolution - Hacking Innovation Roofcamp Philippines
Evolution - Hacking Innovation Roofcamp PhilippinesDerek Neighbors
 
Evolution - Unlocking Chaos Through Innovation
Evolution - Unlocking Chaos Through InnovationEvolution - Unlocking Chaos Through Innovation
Evolution - Unlocking Chaos Through InnovationDerek Neighbors
 
GTD 101 - Getting Things Done
GTD 101 - Getting Things DoneGTD 101 - Getting Things Done
GTD 101 - Getting Things DoneDerek Neighbors
 
Cenphocamp Passion Community
Cenphocamp Passion CommunityCenphocamp Passion Community
Cenphocamp Passion CommunityDerek Neighbors
 

More from Derek Neighbors (6)

Agile Estimating and Planning
Agile Estimating and PlanningAgile Estimating and Planning
Agile Estimating and Planning
 
AZEC Gangplank
AZEC GangplankAZEC Gangplank
AZEC Gangplank
 
Evolution - Hacking Innovation Roofcamp Philippines
Evolution - Hacking Innovation Roofcamp PhilippinesEvolution - Hacking Innovation Roofcamp Philippines
Evolution - Hacking Innovation Roofcamp Philippines
 
Evolution - Unlocking Chaos Through Innovation
Evolution - Unlocking Chaos Through InnovationEvolution - Unlocking Chaos Through Innovation
Evolution - Unlocking Chaos Through Innovation
 
GTD 101 - Getting Things Done
GTD 101 - Getting Things DoneGTD 101 - Getting Things Done
GTD 101 - Getting Things Done
 
Cenphocamp Passion Community
Cenphocamp Passion CommunityCenphocamp Passion Community
Cenphocamp Passion Community
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaWSO2
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceIES VE
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...caitlingebhard1
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governanceWSO2
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....rightmanforbloodline
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 

Recently uploaded (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

Effective User Stories

  • 1. User Stories 21st Century Requirements
  • 2. your instructor Derek Neighbors derek@integrumtech.com @dneighbors
  • 3. What Makes a Story? Card Stories are traditionally written on note cards and they may be annotated with notes, estimates, etc. Conversation Details behind the story come out during conversations with the product owner. Confirmation Acceptance tests confirm the story was coded correctly
  • 4. What Is a Story Card? Short description of user- or customer- valued functionality. The visible part of a story, but the important parts are the conversations between the customer and
  • 5. Who writes a story card? The customer team writes the story cards because they are in the best position to express the desired features and because they must later be able to work out story details with developers and to prioritize the stories. The customer team includes those who ensure that the software will meet the needs of its intended users. This may include testers, product manager, real users and interaction designers.
  • 6. Why User Stories? Understood equally well by everyone Useful for iteration planning Encourage deferring of details Great for iterative development Support opportunistic design Emphasize verbal communication
  • 7. POp Quiz! 1. What are the three parts of a user story? 2.Who is on the customer team? 3.What advantages do requirements conversations have over requirements documents?
  • 8. User Story Templates As a <type of user> In order to <value> I want to <goal> as a <customer role> so that <reason> I want <some feature> As a vacationer, In order to determine which I want to see photos of hotel rooms are the nicest, rooms, as a vacationer, so that I can see which have I want to see photos of hotels the nicest rooms
  • 9. What Makes a Good Story? I Independent N Negotiable V Valuable E Estimatable S Sized Appropriately T Testable
  • 10. What Makes a Good Story? I Independent Dependencies lead to problems estimating and prioritizing. Ideally you can work on a single story without pulling in lots of other stories.
  • 11. What Makes a Good Story? N Negotiable Stories are not contracts, they leave (or imply) some flexibility.
  • 12. What Makes a Good Story? V Valuable Valuable to users or customers, not developers. Rewrite developer stories to reflect value to users or customers.
  • 13. What Makes a Good Story? E Estimatable We need to be able to estimate our user stories so that we can use them to create a plan.
  • 14. What Makes a Good Story? S Sized Appropriately A story is sized appropriately when it can be completed in one iteration.
  • 15. What Makes a Good Story? T Testable You should have an easy and binary way of knowing when a story is finished. Done or not done; not partially finished or “done... except...”
  • 16. POP QUIZ! Find the bad user stories: The user can run the All graphing and system on Windows and charting will be done Linux using a 3rd party library The soft ware will be The user can undo up to released on June 30th fifty commands
  • 17. Workshop #1 In teams of 3 to 4 write at least 15 user stories for a travel website. 20m Activity Time
  • 18. User Role Modeling Consider all types of users in a system. Avoid writing stories from a single perspective by first identifying different user roles that will interact with the system. Define relevant attributes for each user role, to better see the differences between roles. Some roles do well with a persona, an imaginary representation of a user role.
  • 19. User Role Modeling Steps 1.Brainstorm an initial set of user roles 2.Organize the Initial Set 3.Consolidate Roles 4.Refine the Roles
  • 20. Refining Roles with Attributes The frequency with which the user will use the software. The user’s level of expertise within the domain. The user’s general level of proficiency with computers and software. The user’s level of proficiency with the software being developed. The user’s general goal for using the software. Some users are after convenience, others favor a rich experience, and so on.
  • 21. User Role Example User Role: Internal Recruiter Not particularly computer-sav vy but quite adept at using the Web. Will use the soft ware infrequently but intensely. Will read ads from other companies to figure out how to best word her ads. Ease of use is important, but more importantly what she learns must be easily recalled months later.
  • 22. Workshop #2 In teams of 3 to 4 first identify user roles for a travel website. Next, refine those roles using attributes. 20m Activity Time
  • 23. How do we gather user stories? User Interviews Real users with different roles are best. What they ask for is not always what Integrum Tip: they want Ask open-ended and context-free questions. “How would you like to Questionnaires search for jobs?” vs. “Will you Good for large groups of users but not search for jobs by title?” a great primary technique Observation Helpful for determining how users interact with existing systems Story-Writing Workshops Includes developers, users, customers and others. Brainstorm to generate as many stories as possible.
  • 24. Trawling for Requirements The idea of eliciting and capturing requirements is wrong. It assumes that we already know all requirements and that they won’t change. Instead, think of trawling for requirements. This acknowledges that requirements are of different sizes and that they change over time.
  • 25. Workshop #3 In teams of 3 to 5 first designate one team member as the product owner. Next, run a story workshop for a pet adoption website. 25m Activity Time
  • 26. User Proxies The User’s Manager May not be appropriate unless they are also a user Development Managers Seemingly a good user proxy due to their involvement, but they’re almost never the intended user Customers Best if they are in close communication with the users for whom they are purchasing the software. Even better if they are also a user Salespeople Very helpful if they have contact with a broad variety of customers, but avoid features that could have won the last lost sale Domain Experts Avoid stories that require a user to be at their level of expertise The Marketing Group Quality stories vs. Quantity of stories
  • 27. Customer Team 1. Add real users 2. Identify a product champion Integrum Tip: 3. Determine the factors critical to A real user beats a proxy user every time. success What problems might occur when using a proxy user?
  • 28. Workshop #4 In teams of 3 to 5, each team member should choose a user proxy role. Next, briefly interview each user proxy using the travel website product. Finally, gather shortcomings and possible improvements when using user proxies. 20m Activity Time
  • 29. Where are the Details? Does the user get a full Is confirmation provided or partial refund? Is it a to the user? How? refund or site credit? As a user, I want to Are the terms different for members of the frequent How far ahead must the reservation be cancelled? cancel a reser vation travelers club? Is the process the same How late can the user for all hotels? cancel the reservation?
  • 30. Details Added as Smaller STories As a premium member, I can cancel a reservation up to the last minute As a user, I want to As a non-premium member, I can cancel a reservation up cancel a reservation to 24 hours in advance As a user I am e-mailed a confirmation when I cancel a reservation
  • 31. Details as Conditions of Satisfaction As a user, I want to cancel a reservation Conditions of Satisfaction Verify that a premium member can cancel the same day without a fee Verify that a premium member is charged 10% for same day cancellation Verify that an e-mail confirmation is sent Verify that the hotel is notified of the cancellation
  • 32. Details as Acceptance Criteria As a VP of Marketing, I want to see information Integrum Tip: on television advertising Ensure that your conditions of when viewing historical satisfaction or acceptance campaigns acceptance criteria help further define “done.” Acceptance Criteria See how many viewers by age range See how many viewers by income level See how many viewers by gender
  • 33. Acceptance Testing Acceptance tests are used to express the many details that result from conversations between customers and developers. Other Types of Tests User interface testing Usability testing Performance Testing Stress Testing
  • 34. User Workflow Scenarios Integrum Tip: As a user, I want to cancel a reservation Draw out simple wireframes to explain each step in the user workflow. When I am viewing my reservation How far ahead must the I should see a button to cancel my reservation reservation be cancelled? When I click the ‘cancel reservation’ button I should see a confirmation dialog When I am viewing my reservation more than 24 hours in advance ... When I am viewing my reservation less than 24 hours in advance ...
  • 35. Using Given, Then, When The right details? Given I am viewing my reservation As a user, I want to When I click the ‘cancel reservation’ button cancel a reservation Then I should see a confirmation dialog Are fewer details better? Given I am viewing my reservation When I cancel my reservation Then I should be prompted to confirm “If you really care about how the behaviour is implemented, you should probably be specifying that elsewhere in a more fine-grained story – in other words chunking down to provide more detail – that won’t be interesting to the audience of this one. If not, you might want to push the detail down into the implementation of the steps.” - Dan North
  • 36. Acceptance Testing Questions What else to What am I assuming programmers need to about how this story know about this story? will be implemented? What can the user do As a user, I want to What can go wrong incorrectly to make this story not work as cancel a reser vation during the story? expected? Are there circumstances What does the user see when this story may during each step of the behave differently? story?
  • 37. Workshop #5 In teams of 3 to 5, pick one to two stories from a previous workshop. Next, generate user workflow scenarios or given, when, then scenarios for each. 20m Activity Time
  • 38. Types of User Stories Story Story Story Theme Theme A collection of related user A collection of related user Theme Theme A collection of related user stories A collection of related user stories Epic A large user story
  • 39. The Backlog Iceberg Sprint Story Story Release Theme A collection of related user Theme A collection of related user stories Future Releases Epic A large user story
  • 40. Epics, Themes and Stories As a VP Marketing, I can select As a VP Marketing, I want to review which type of campaigns (dm, t v, the performance of historical email, radio, etc) to include when promotional campaigns so that I can reviewing the performance of identify and repeat profitable ones. historical promotional campaigns. Epic Smaller Epic As a VP Marketing, I want to As a VP Marketing, I want to see information on direct see information on television malings when reviewing advertising when reviewing historical campaigns so that ... historical campaigns so that..... More Detailed More Detailed
  • 41. Breaking down Epics As a frequent flyer I As a frequent flyer I want to check my want to book my trip account using miles As a frequent flyer I want to re-book a frequent trip As a frequent flyer I Frequent Flyer want to book a trip As a frequent flyer I want to request an upgrade As a frequent flyer I As a frequent flyer I want to see special want to... promotions
  • 42. Workshop #6 In teams of 3 to 5, first identify stories from a previous workshop which are too large. Next, breakdown the large stories into smaller more fine-grained stories. 20m Activity Time
  • 43. Tips for Writing good Stories To identify stories, start by considering the goals of each user role in using the system. When splitting a story, try to come up with stories that cut through all layers of the application. Create constraint cards and tape to wall or write tests to ensure they are not violated. Write smaller stories for functionality that will soon be implemented and broad stories for functionality further out. Keep the user interface out of the stories for as long as possible. When practical, include the user role when writing the story. Write stories in active voice. Write stories for a single user. Have the customer, rather than the developer, write the story. Keep stories short, and do not forget their purpose as reminders to hold conversations. Don’t number stories.
  • 44. Smelly User Stories Stories are too small Interdependent stories Gold plated stories Too many details Splitting too many stories Including user interface details too soon Thinking too far ahead Trouble prioritizing Customer won’t write and prioritize stories
  • 45. Workshop #7 In teams of 3 to 5, first gather stories you’ve generated from previous workshops. Next, identify good and bad user stories and note how they differ. 20m Activity Time