User Stories definition
- User Story is an Extreme Programming (XP) practice :
- The entries in the Product Backlog are often written in the form of User Stories.
- An User Story tells a short story about the requirements of someone while he or she is using the Product we are building.
- User Story has a name, a brief narrative, and acceptance criteria for the Story to be counted as completed.
User Story purpose
- The advantage of User Stories is that they precisely focus on what the User needs and wants without going into the details on how to achieve them.
- How to achieve them will be the job of the Scrum Team at a later stage.
User Story 3 C
- Ron Jeffries’ three Cs for User Story definition are card, conversation, confirmation. [User Stories Applied: For Agile Software Development. Mike Cohn.]
User Story INVEST
- INVEST : Independent, negotiable, valuable, estimable, small, and testable
- The acronym INVEST (independent, negotiable, valuable, estimable, small, and testable) helps the agile practitioner remember the characteristics of a good User Story.
- I – Independent stories can be developed in any order and avoid dependencies which can make development more complex. [Agile Retrospectives: Making Good Teams Great. Esther Derby, Diana Larsen, Ken Schwaber.]
- N – Negotiable User Stories mean that both the customer and Developers should feel free to analyze and adapt a user story to meet customer needs. [Agile Retrospectives: Making Good Teams Great. Esther Derby, Diana Larsen, Ken Schwaber.]
- V – A valuable User Story describes how the product feature will provide value to the customer. [Agile Retrospectives: Making Good Teams Great. Esther Derby, Diana Larsen, Ken Schwaber.]
- E – Estimable User Stories are ones that Developers can readily estimate the effort or duration required for developing them. [Agile Retrospectives: Making Good Teams Great. Esther Derby, Diana Larsen, Ken Schwaber.]
- S- Small User Stories are ones that take about two to five days of work to implement. [Agile Retrospectives: Making Good Teams Great. Esther Derby, Diana Larsen, Ken Schwaber.]
- T – Testable User Stories are ones that can be verified according to acceptance criteria to ensure value. [Agile Retrospectives: Making Good Teams Great. Esther Derby, Diana Larsen, Ken Schwaber.]
User Story Example
- If a team has a velocity of 20 story points and there are 83 story points remaining in the backlog and excluding all other potential constraints like increased scope, how many iterations should it take for the project team to complete the remaining story points?
- 83/20=4.15
- Round 4.15 up to 5
- 5 iterations is the best answer. [Agile Estimating and Planning. Mike Cohn.]
User Story practice
- There are different recommendations on how to define User Stories.
- A well known and reliable template is :
- As an [actor], I [want|must] [action] so that [achievement]
- Or in a shorter version :
- As an [actor], I [want|must] [achievement]
- The Actor is the owner of the User Story.
- That is often a User, but it is advisable to be more specific.
- By using particular actors such as an administrator, logged in Customer, or unauthenticated visitor or so on, User Stories become distinctive.
- So they set requirements into a proper context everyone can understand.
- The Action is what the Actor wants to do.
- If it is a mandatory requirement, it can be prefixed as must.
- Otherwise, it’s prefixed as want.
- The Achievement is what the Actor wants to achieve by performing the Action.
- That’s the Actor’s envisioned business result or a functional technical component that emerges once the Action is completed.
- A well known and reliable template is :
User Story priorization
- User Stories are prioritized based on customer value.
- Value is determined by return on investment, growth of team knowledge, and risk reduction. [The Art of Agile Development. James Shore.]
- The team should meet with the customer to determine if and when the User Story should be completed. [Agile Estimating and Planning. Mike Cohn.]
- User Stories may be prioritized with Planning poker.
User Stories story points
- In general, story points can be considered as the cost of developing a User Story, while value points can be considered as the benefit of developing a User Story. [Agile Estimating and Planning. Mike Cohn.]
- A 0 point User Story is said to be of minimal effort for a development team. [Agile Estimating and Planning. Mike Cohn.]