user stories overview
DESCRIPTION
This is a quick presentation to give an overview of what user stories are, why we use them in agile, and what makes a good user story. It is meant encourage discussion around current or perceived struggles with using user stories and include some practice time working through examples of user stories.TRANSCRIPT
User StoriesOneAmerica BACoP
October 29, 2013
Copyright © Mountain Goat Software
As a <user role>, I want <goal>, So that <reason>.
Copyright © 2013, All Rights Reserved Development Block, LLC.
Agenda
• What is a user story?
• Why do we use user stories?
• What makes a good user story?
• How to split user stories
• Practice
���2
Copyright © 2013, All Rights Reserved Development Block, LLC.
Incremental
���3
Calls for a fully formed idea at the beginning.
* Mona Lisa example taken from Jeff Patton’s presentation. http://www.agileproductdesign.com/
Copyright © 2013, All Rights Reserved Development Block, LLC.
Woman in pastoral setting
Iterative
���4
* Mona Lisa example taken from Jeff Patton’s presentation. http://www.agileproductdesign.com/
Iterating allows you to move from vague idea to
realization.
Copyright © 2013, All Rights Reserved Development Block, LLC.
What is a User Story?
���5
• Describe a problem or a desired goal from the perspective of a user.
• The 3 C’s
• Card
• Conversation
• Confirmation
As a <user role>, I want <goal>, So that <reason>.
Copyright © 2013, All Rights Reserved Development Block, LLC.
Why User Stories?• Encourage conversations and shared
understanding
• Encourages incremental development, start vague, add more detail when needed
• Shifts the focus from features and functions to user problems and goals
• Avoids“that’s not what I wanted”“but that’s what the requirements said”
���6
Copyright © 2013, All Rights Reserved Development Block, LLC.
Why User Stories?• I didn’t say she stole my money.
• I didn’t say she stole my money.
• I didn’t say she stole my money.
• I didn’t say she stole my money.
• I didn’t say she stole my money.
• I didn’t say she stole my money.
• I didn’t say she stole my money.
• I didn’t say she stole my money.���7
Copyright © 2013, All Rights Reserved Development Block, LLC.
Good User Stories
• The text written on the card is less important than the conversations that we have.
• You should have to discuss a user story before it gets into a sprint...often multiple times.
���8
Copyright © 2013, All Rights Reserved Development Block, LLC.
INVEST
• Independent
• Negotiable
• Valuable
• Estimable
• Small
• Testable
���9
Copyright © 2013, All Rights Reserved Development Block, LLC.
Clear, Feasible, Testable• Clear
• Team has shared understanding
• Agreement on estimate is one indicator
• Feasible
• Can be completed in a sprint (ideally a few days)
• Don’t forget your Doneness Criteria
• Testable
• There is an effective way to determine if the functionality works as expected
• Acceptance Criteria is defined
���10
Copyright © 2013, All Rights Reserved Development Block, LLC.
Examples
���11
Post ResumeLarry wants to post his resume on the job board so that recruiters and hiring managers will be able to f ind his resume in searches for open positions.
* Information from resume should be indexed in standard f ields * Larry should be able to manually enter his resume details. * Larry should be able to upload his resume in any standard
format and the system should extract the information for the appropriate f ields.
Copyright © 2013, All Rights Reserved Development Block, LLC.
Examples
���12
View Suggested JobsLarry should be able to easily view jobs that match the information in his resume so that he can quickly f ind jobs for which he may be a good candidate.
* Jobs should be sorted with the best match at the top of the list * This list should be automatically displayed af ter Larry initially
completes his resume * This list should be accessible with a single click from both the
home page, the user’s prof ile, and the resume page
Copyright © 2013, All Rights Reserved Development Block, LLC.
Splitting Stories
• The point is to get feedback...
• Must be demonstrable
• Needs to be a complete slice
• Still needs to meet Doneness Criteria
���13
Copyright © 2013, All Rights Reserved Development Block, LLC.
Clues for Splitting
• Acceptance Criteria
• Variation/States
• User Role
• Complexity/Level of Detail
• Security/Permissions
���14
Copyright © 2013, All Rights Reserved Development Block, LLC.
Richard Lawrence’s Patterns
• Workflow Steps
• Business Rule Variations
• Major Effort
• Simple/Complex
• Variations in Data
• Data Entry Method
• Defer Performance
• Operations (CRUD)
• Break Out a Spike���15
Copyright © 2013, All Rights Reserved Development Block, LLC.
Practice
���16
Copyright © 2013, All Rights Reserved Development Block, LLC.
Contact Info
���17