17
User Stories OneAmerica BACoP October 29, 2013 Copyright © Mountain Goat Software As a <user role>, I want <goal>, So that <reason>.

User Stories Overview

Embed Size (px)

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.

Citation preview

Page 1: User Stories Overview

User StoriesOneAmerica BACoP

October 29, 2013

Copyright © Mountain Goat Software

As a <user role>, I want <goal>, So that <reason>.

Page 2: User Stories Overview

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

Page 3: User Stories Overview

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/

Page 4: User Stories Overview

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.

Page 5: User Stories Overview

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>.

Page 6: User Stories Overview

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

Page 7: User Stories Overview

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

Page 8: User Stories Overview

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

Page 9: User Stories Overview

Copyright © 2013, All Rights Reserved Development Block, LLC.

INVEST

• Independent

• Negotiable

• Valuable

• Estimable

• Small

• Testable

���9

Page 10: User Stories Overview

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

Page 11: User Stories Overview

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.

Page 12: User Stories Overview

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

Page 13: User Stories Overview

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

Page 14: User Stories Overview

Copyright © 2013, All Rights Reserved Development Block, LLC.

Clues for Splitting

• Acceptance Criteria

• Variation/States

• User Role

• Complexity/Level of Detail

• Security/Permissions

���14

Page 15: User Stories Overview

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

Page 16: User Stories Overview

Copyright © 2013, All Rights Reserved Development Block, LLC.

Practice

���16

Page 17: User Stories Overview

Copyright © 2013, All Rights Reserved Development Block, LLC.

Contact Info

���17