How to master passing valuable business needs to developers?
Step-by-step guide
User story is implemented with pattern:
As a <user type>, I want to <function> so that <benefit> .
Examples:
- As an enterprise reader, I want to buy premium content so that I get more specified and valuable information.
- As an enterprise, we want our readers to be logged into all our services so that they can use one account to get access to all our services.
User story is defined incrementally, in three stages:
- The brief description of the need (a good practice is to put value and priority into the story).
- The conversations that happen during backlog refinement and iteration planning to solidify the details.
- The tests that confirm the story’s satisfactory completion.
Well-formed stories will meet the criteria of Bill Wake’s INVEST acronym:
Independent | We want to be able to develop in any sequence. |
Negotiable | Avoid too much detail; keep them flexible so the team can adjust how much of the story to implement. |
Valuable | Users or customers get some value from the story. |
Estimable | The team must be able to use them for planning. |
Small | Large stories are harder to estimate and plan. By the time of iteration planning, the story should be able to be designed, coded, and tested within the iteration. |
Testable | Document acceptance criteria, or the definition of done for the story, which lead to test cases, how story should be tested. |
Try to avoid the generic role of User when writing user stories
|
What size should a User Story be?
|
How detailed should a user story be?
Too broad
- A team member can view iteration status.
Too detailed
- A team member can view a table of stories with rank, name, size, package, owner, and status.
- A team member can click a red button to expand the table to include detail, which lists all the tasks, with rank, name, estimate, owner, status.
Just right
- A team member can view the iteration’s stories and their status with main fields.
- A team member can view the current burndown chart on the status page, and can click it for a larger view.
- A team member can view or hide the tasks under the stories.
- A team member can edit a task from the iteration status page.
When do I add detail?
Acceptance criteria provide the Definition of Done for the story. As details about the story evolve, capture the critical ones as acceptance criteria.
The PO should list as many acceptance criteria as possible in order to clarify the intent of the story.
source: https://help.rallydev.com/sites/default/files/multimedia/user_story_callouts.png
Read more
- Agile Estimation and Planning by Mike Cohn
Fifty Quick Ideas to Improve your User Stories by Gojko Adzic AND David Evans
Leave a comment