Top Banner
User Stories - Sunil Kumar
66

User Story

Jan 28, 2015

Download

Technology

Sunil Jakkaraju

This presentation describe
What is the need for user stories in Agile project?
What is a story?
Why story?
What is criteria for a good story?
What are not stories?

Prerequisite? Knowledge of Scrum and it’s terms
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: User Story

User Stories

- Sunil Kumar

Page 2: User Story

Agenda

• What is the need for user stories?• What is a story?• Why story?• What is criteria for a good story?• What are not stories?

Prerequisite? Knowledge of Scrum and it’s terms

Page 3: User Story

What problems do user stories address?

(mis)Communication!

Page 4: User Story

Between?

Those who want the software Those who build the software

Page 5: User Story

Balance is critical

Page 6: User Story

Business side dominates?

Page 7: User Story

Developers dominate?

Page 8: User Story

Resource allocation

• Need to work together to make it a shared problem.

Page 9: User Story

Developers Responsibility of resource allocation!

• May trade quality for additional features• May only partially implement the feature• May solely take decisions that should involve

business side

Page 10: User Story

Only business shoulders the responsibility

• Lengthy upfront requirements negotiation and signoff

• Features are dropped as the deadline nears

Page 11: User Story

We cannot predict a software schedule!

Page 12: User Story

As users see software, they come up with new ideas

Page 13: User Story

Too many intangibles!

Page 14: User Story

Developers have hard time estimating!

Page 15: User Story

So what do we do?

Page 16: User Story

Make decisions on information often

Page 17: User Story

Spread the decision-making across the project

Page 18: User Story

This is where user stories come in

Page 19: User Story

What are stories? 3C

Card

Conversation

Confirmation

Page 20: User Story

Story Card

• Written on Note cards• Should have estimates,

notes etc• No jargon• Written in direct speech

Page 21: User Story

Conversation!

• Details behind the story• Emerges when team

talks with Product owner, customer / customer proxy

Page 22: User Story

Confirmation

• Acceptance tests

Page 23: User Story

Example of Story

– A user can search for jobs by attributes like location, salary range, job title, company name, and the date the job was posted

– A user can view information about each job that is matched by a search

– A user can view detailed information about a company that has posted a job

Page 24: User Story

More Samples!

Page 25: User Story

Conversation?

Page 26: User Story
Page 27: User Story

What is an Epic?

– A user can search for a job

– A company can post job openings

Page 28: User Story

Theme?

Page 29: User Story

Why write Stories?

Page 30: User Story

Words are imprecise!

• Main dish comes with soup or salad and bread– (Soup or salad) and Bread?– (Soup) or (Salad and bread)?

• The User can enter a name. it can be 127 characters– Must the user enter a name?– Can it be other than 127 chars?

Page 31: User Story

Words are imprecise contd…

• The system should prominently display a warning message whenever the user enter invalid data– What does should mean?– What does prominently display mean?– Is invalid data defined elsewhere?

Page 32: User Story

Stories shift the focus from writing to talking

“You built what I asked for, but it’s not what I need”

Page 33: User Story

Stories are equally understandable by developers and customers

Page 34: User Story

Support iterative development

Page 35: User Story

Stories are right size for planning

Page 36: User Story

Stories support participatory design

Page 37: User Story

Stories emphasize user’s goals not system attributes

• What are we building?– The product shall have a gas engine– The product shall have four wheels• The product shall have rubber tyre mounted to each

wheel

– The product shall have a steering wheel– The product shall have a steel body

Page 38: User Story

What if we had stories instead?

Page 39: User Story

Don’t forget the purpose

• The story text we write on cards is less important than the conversations we have

Page 40: User Story

User Story Template

“As a <Some Role>I want <Some Need>So that <Some Benefit>”

Page 41: User Story

A “real” Story card

As an <unregistered user of [an online game]>

I want <to setup a trial team>

So that <I can try the game without signing up>

Page 42: User Story

Advantages of “As a user, I want” user story template

• With “I want” phrase, person more closely identifies with stories and person’s mind goes instantly to imagining as he or she is such-and-such.

• Helps in prioritizing story. The product owner is forced to understand the feature, benefits and value (“so that” phrase)

• This format is a best practice towards executable requirements and a domain specific language

Page 43: User Story

What is criteria for good story?

• Independent• Negotiable• Valuable to users or customers• Estimable• Small• Testable

Page 44: User Story

Independent

• Introduce as little dependencies as possible

• Break up work in vertical layers

• Dependent stories should not be done in same sprint

Page 45: User Story

Independent• BAD

– Company can pay for a job posting with a visa card– Company can pay for a job posting with a master card– Company can pay for a job posting with an American Express

• Good– Company can pay for a job posting with a credit card

• Also good– Company can pay for a job posting with one type of a credit card– Company can pay for a job posting with two additional types of credit

cards

Page 46: User Story

Negotiable

• Not contracts• Describe what, not how• Should be imprecise

and open for negotiation

• Should encourage conversation

• Not requirements, leads to requirements

Page 47: User Story

Valuable

• If we can’t specify value of a story we probably don’t know enough about it

Page 48: User Story

Valuable to purchasers or users• Throughout the development process, the development team

will produce documentation suitable for an ISO 9001 audit. -- purchaser

• Not– All connections to the database are through a connection pool– All error handling and logging is done through a set of common

classes.• If there’s a technical story put it in terms the business can

understand– Up to fifty users should be able to use the application with a five-user

database license– All errors are presented to the user and logged in a consistent manner.

Page 49: User Story

Estimable*

• “Make login button look ‘cool’” is not estimable

• If we can’t estimate a story we cant commit to it

• Lack domain knowledge• Lack technical knowledge• Story is too big

* Yes, it is a word!

Page 50: User Story

Small

• Size does matter– A user can plan a

vacation (EPIC)

• Based on team and capabilities and technology in use.

• Allows more granular tracking of progress

• Easier to estimate (less error prone)

Page 51: User Story

Testable

• If you can’t test it, how do you know– It’s done?– It’s done right?

• Should have done criteria– Business criteria– Technical Debt– Cross-cutting concerns– Regression failures

allowable?

Page 52: User Story

Testable

• User must find the software easy to use.– A novice user is able to complete common workflows

without training• A user must not have to wait long for a screen to

appear.– New screens appear within two seconds in 95% of all

cases.• Strive for 99% automation• Automate on the code not just the UI.– Fit is good (Fitnesse)– NUnit is good

Page 53: User Story

What are not stories?

Page 54: User Story

Screen mockup (not story)

Page 55: User Story

Use case (not story)

Page 56: User Story

UML diagrams (not story)

Page 57: User Story

Specification (not story)

Page 58: User Story

Some guideline for story writing

Page 59: User Story

Include user roles in stories

• as a (role) I want (function) because (business value)

Page 60: User Story

Write for one user

• Job seeker can remove a resume• Job seeker can remove her own resume

Page 61: User Story

Write in active voice

• Bad– A resume can be posted by a job seeker

• Good– A job seeker can post a resume

Page 62: User Story

Customer writes the story

• Not developer– But they can suggest

• Which maybe is write them then get signoff

– Offer advice

• In the end the customer has to prioritize them so they need to know the language on the card fully.

Page 63: User Story

Don’t number the cards

• Pointless over head• You’ll be shredding cards and creating cards often

Page 64: User Story

Don’t forget the purpose

• Reminder about the requirements not the document of the requirements.

• Don’t replace the conversation by adding the detail.

Page 65: User Story

References

• http://www.mountaingoatsoftware.com/presentations/103-user-stories

• http://www.slideshare.net/guest446c0/user-stories-1015064

• http://www.danube.com/webinars• All images collected through google

Page 66: User Story

Questions?