how to break the requirements into user stories

18
How to Break the Requirements into User Stories - By ShriKant Vashishtha http:// sampreshan.svashishtha.com

Upload: shrikant-vashishtha

Post on 13-Jan-2015

4.538 views

Category:

Economy & Finance


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: How to Break the Requirements into User Stories

How to Break the Requirements into User Stories

- By ShriKant Vashishthahttp://sampreshan.svashishtha.com

Page 2: How to Break the Requirements into User Stories

Why do we do this…

• To have small and independent functional pieces which deliver business value so that we can deliver iteratively.

• Makes it more manageable and easier to predict.

• It’s easier to identify and eliminate waste (anything that does not provide immediate value to the customer.)

• It lowers project risk by increasing accuracy of estimates and thus predictability

Page 3: How to Break the Requirements into User Stories

Why do we do this…

• Completing small stories gives a better indicator of true progress

• It creates better rhythm in the iteration

• It gives the opportunity for the Product Owner to manage the priority of story functionality within a bigger story

Page 4: How to Break the Requirements into User Stories

Characteristics of Ideal small functional piece INVEST Principles

• I – Independent – (Stories are easiest to work with if they are independent. That is, we'd like them to not overlap in concept, and we'd

like to be able to schedule and implement them in any order)

• N – Negotiable – (It is not an explicit contract for features; rather, details will be co-created by the customer and programmer during

development. A good story captures the essence, not the details.)

• V – Valuable – (We don't care about value to just anybody; it needs to be valuable to the customer. When we split a story, we're

serving up only part of that cake. We want to give the customer the essence of the whole cake, and the best way is to slice vertically through the layers.)

• E – Estimable – (We don't need an exact estimate, but just enough to help the customer rank and schedule the story's

implementation. )

• S – Small – (Good stories tend to be small. Stories typically represent at most a few person-days worth of work. Above this size,

and it seems to be too hard to know what's in the story's scope. Smaller stories tend to get more accurate estimates.)

• T – Testable – (If a customer doesn't know how to test something, this may indicate that the story isn't clear enough, or that it

doesn't reflect something valuable to them, or that the customer just needs help in testing. )

Page 5: How to Break the Requirements into User Stories

Who is involved…

• The core team which includes– Business Analysts– Product Owner– Iteration Manager

Page 6: How to Break the Requirements into User Stories

How to actually do it?

Page 7: How to Break the Requirements into User Stories

Pattern 1: Workflow Steps

“As a content manager, I can publish a news story to the corporate website.”

can include the following independent stories

• I can publish a news story directly to the corporate website.• I can publish a news story with editor review.• I can publish a news story with legal review.• I can view a news story on a staging site.• I can publish a news story from the staging site to production.

Page 8: How to Break the Requirements into User Stories

Pattern 3: Major Effort

“As a user, I can pay for my flight with VISA, MasterCard, Diners Club, or American Express.”

can include the following valuable and small stories

• …I can pay with one credit card type (of VISA, MC, DC, AMEX).• …I can pay with all four credit card types (VISA, MC, DC, AMEX)

(given one card type already implemented).

Page 9: How to Break the Requirements into User Stories

Pattern 4 : Break out with a Spike

“As a user, I can pay by credit card.”

can include the following estimable stories

• Investigate credit card processing. (time boxed)• Implement credit card processing.

Page 10: How to Break the Requirements into User Stories

Pattern 5: Business Rule Variation

“As a user, I can search for flights with flexible dates..”

can include the following testable "business rules”

• as “n days between x and y.”• as “a weekend in December.”• as “± n days of x and y.”

Page 11: How to Break the Requirements into User Stories

Pattern 6: Operations (e.g. CRUD)

“As a user, I can manage my account.”

can include the following independent user stories

• …I can sign up for an account.• …I can edit my account settings.• …I can cancel my account.

Page 12: How to Break the Requirements into User Stories

Pattern 7: Defer fancy operations

“As a user, I can search for flights between two destinations.”

can include the following valuable user-stories

• …using simple date input.• …with a fancy calendar UI.

Page 13: How to Break the Requirements into User Stories

Pattern 8: Acceptance Criteria

• Often it is possible to limit the user story to the happy day scenario only

• And deal with exceptions, error cases or other special cases as different story.

Page 14: How to Break the Requirements into User Stories
Page 15: How to Break the Requirements into User Stories

Avoid Cause and Effect Trap

Page 16: How to Break the Requirements into User Stories

Ask why a lot

Page 17: How to Break the Requirements into User Stories

Fully featured vs fully functional