On paper writing a good user story sounds easy. “As a … I want.. So that I can”. While that may convey the basics it does not always actually tell the story.
Roman Pichler lays out 10 Tips For Writing Good User Stories:
- Users come first
- Use personas to discover the right stories
- Create stories collaboratively
- Keep your stories simple and concise
- Start with epics
- Refine stories until they are ready
- Add acceptance criteria
- Use paper cards
- Keep your stories visible and accessible
- Don’t solely rely on user stories
Sounds easy right? Creating a good user story takes practice and an understanding of your team. Splitting user stories into work that ultimately reaches the desired goals while at the same time are easy to understand, develop, and test can be challenging. There is a bit of art involved here.
At the highest level you want each story to
- Work
- Deliver Value
- Possibly Generate User Feedback
If you are new to it or struggle with splitting stories. There are some good resources that can help.
Richard Lawrence offers some good Patterns for Splitting User Stories, including
- Workflow Steps
- Business Rule Variations
- Major Effort
- Simple vs Complex
- Data Variations
- Data Entry Methods
- …
Normally the smaller and more independent a story the easier it is to build and test. Many people refer to this as the INVEST model.
- I – Independent
- N – Negotiable
- V – Valuable
- E – Estimable
- S – Small
- T – Testable
What can you try if the team is still struggling to break down the stories using the advice above? Another acronym to remember: SOUND.
- S – Spike … Drive out risk and uncertainty by answering questions
- O – Options … Similar to negotiation, what are possible solutions
- U – Unusual Flows … Handle exceptions in later stories
- N – Nonfunctional Requirements … Examples: first passes at security or performance
- D – Data … Input, Output, Devices
All of this knowledge has surely worked up your appetite for concrete examples. So take a break and try The Hamburger Method for splitting user stories. It incorporates many of the techniques above.
Have you found any of these techniques particularly helpful? What works for you?
Let us know in the comments below.