A really good user story will have three things to make them useful and complete
- Who
- What
- Why
So what are these user story elements?
- Who = the primary actor. The Who can be generic like customer, user or specific such as specialized user of a system. The Who can also be a non user such as a server; I’ll give an example later.
- What = the action the primary actor wants to take.
- Why = the value or the reason the primary actor wants to do the action.
When writing user stories I’ll use standard phrases to ensure the completeness of the user stories
- “As a” to identify the Who
- “I want to” to identify the What
- “So that” to identify the Why
So let’s write a few user stories as examples
- As a customer (who) I want to add items to a shopping cart (what) so that I can purchase them (why)
- As a server (who) I want to receive well formed xml (what) so that I can process XML without errors (why)
As I write this I found some proposals to switch the Who, What Why to Why, Who, What to provide the business value up front. It’s an interesting idea to try when you write your user stories.