What is a User Story?
Agile is a value based development methodology, where all those features of the product which can add value to the customer are recognized, prioritized and developed based on customer needs. These valuable features are best described in users own words. Hence finding out who are the users is an important task. Once all the users are recognized, requirements which add value to the user are written down considering the needs of those specific users. Since those requirements are coming keeping users in mind, they are called User Stories.
How to Write a User Story?
User Stories are best written in following format.
As a <User> , I want to <Have> so that <Benefit>
Here user story describes how a user (a manager, a clerk, a developer, a librarian, an owner etc.) will want to interact with the system and get a certain benefit out of that interaction.User
A user is the user of the system.
- a manager
- a clerk
- a developer
- a librarian
- an owner etc.
Benefit is the value a user will get of the system.
- a manager can see the audit report in one click, which will save his time.
- a clerk could search a report, which will save his time.
- a librarian could search a book by category, thorough which he/she will improve customer service.
- an owner can order an equipment, which will save him from hassle.
By writing user story in this way, it’s easier for the reader to know who is getting what, to know that information helps at the time of prioritization, estimation and development. Also it opens the door of discussion between different stakeholders.
What are examples of User Stories?
Following are 25 sample user stories.
- As an administrator I want to be able to create a new user to the team when needed.
- As a lawyer I want to see all my active cases on the main screen.
- As a student I want to see all of my old transcripts on the board.
- As a driver I want my GPS voice activated.
- As a researcher I want to see last few searches I made.
- As a user I want the ability to restore my password.
- As a cashier I want to see total amount in cash register displayed.
- As a pilot I want to know the best flight height to fly in current conditions.
- As a police officer I want to see the previous tickets given to a driver.
- As a post man I want to know estimated time to deliver today’s mails.
- As a guitarist I want to know speed of my fingers on the string.
- As a grass mower I want mower avoid hitting blade to hard things
- As a runner I want to be warned of irregular heart rate.
- As a blind person I want to be warned for a hard thing coming on my way.
- As a student I want to shuffle my flash cards.
- As a credit card user I want to be warned if spent more than a set amount.
- As a kid I want to turn off all the toys not active for a while.
- As a driver I want to be warned of the tire pressure.
- As a student I want to be reminded my class schedule every morning.
- As a manager I want to do what if analysis while planning.
- As a tester I want to see all the bugs assigned to me with status.
- As a ticket booker I want to be notified as soon as a ticket gets available on a full flight.
- As a writer I want my work get auto saved after every few seconds.
- As a reader I want to see list of most sold books in last 2 weeks.
- As a cook I want to see most visited recipes.
What is the term INVEST?
User stories are supposed to have certain characteristic described by Bill wake as INVEST.
I – Independent – (stories should be as far as possible independent so each of them could be developed and delivered separately.
N – Negotiable – (User Stories should discussable further and there should be space of negotiation)
V – Valuable – (User Stories should result in adding value to the customer)
E – Estimable – (User Stories should be understandable enough so could be divided into task and could get estimated)
S – Small – (User Stories should not be too big, usually should be done in 40 hours of work)
T – Testable – (User Stories, usually have acceptance criteria to test if they fulfill customer’s needs)
What information User Story may contain?
What is a Product backlog?
Once created user stories are stored in product backlogs. Product backlog is an important artifact of Agile; it’s a place where all the user stories are stored, usually by product owner. Product backlog contains user stories which are not estimated.
What is a Groomed Product backlog?
User stories placed in backlog are not prioritized and estimated yet. They might need more detail and explanation. Agile team may need to discuss more to fully comprehend not only the requirement but the value attached to the backlog. For that Agile teams take part in a grooming session, where user stories are discussed with the team and all the ambiguities are removed. Development team ask detailed question pertaining user stories and product owner prioritize them. Also development team and product owner estimate the user stories. After completion of grooming and planning session team comes out with a groomed backlog. Groomed backlog also represented by DEEP.