How to write 'Good' user stories
How to write a 'good' story!
This is actually a rather topical story for me! Today I was in our end of sprint retrospective... as it goes my last retrospective working for this particular client before I move onto pastures new next week!
One of the many things that came up was the way we do our user stories.... writing a good user story is an art in it's self... so I thought I'd do a top ten list on how to write a good user story!
No hang-on... I've stopped doing top tens since I realised that people's attention span won't stretch to a top ten of anything... which is why I've began doing the top 5's (See my blog 5 Reasons you need to be on LinkedIn)
Well I'm not sure I can do it in five... not in the first iteration anyway... lets see how this goes!
1. Focus on the User
This one should be simple.... well it can be, probably isn't in reality!! but write the story from the perspective of the user - how will the user engage with the product and what is the function of that process?
2. Write stories together (or in Agile talk.... collaboratively)
User stories are not specs! don't have one team write the story and chuck them over the fence into the development team! yes that really does happen in some places!
The 'Product Owner' and team should talk about stories and hopefully write them together! chances are the sum knowledge of the team should ensure better user stories!
3. Keep is short, simple and concise... just enough, is enough!
Stories should be short and simple to understand! Avoid at all costs confusing and ambiguous terms - focus on what's important and leave out the waffle!
Your story could be:
As a <xxxxxx>
I want to <xxxxxx>
So that <xxxxx>
Try out different ways until you master it!
4. Start with those big Epics!
Nearly all new projects start of as loosely understood grainy stories - big stories! or as we call them in the land of Agile... Epics!
However, the Epic allows you to sketch out the high-level functionality and without.... well without committing to all those pesky details!
These epics should over time as understanding improves become more and more refined! Or smaller and smaller stories!
5. Always have an acceptance Criteria
As you decompose epics into smaller stories, remember to add acceptance criteria. Acceptance criteria allows you to describe the conditions that have to be fulfilled so that the story is 'done'.
The criteria improves the story and understanding - making it a testable task! before being unleashed on the product owner!
7. Group your stories into themes
Stories should be grouped together as related stories... or themes! this allows stories to be ranked... or prioritised on the product backlog!
8. Forget about modern fancy software... just use cheap cards!
Until I have a touchy, 3D virtual reality system just like J.A.R.V.I.S in Iron Man - you can't
beat paper cards! they are cheap... rather easy to use (depending on your handwriting skills) - and are brilliant at facilitating that 'collaboration' thing that Agile is all about!
Anyone can take a card down... write on it... pass it around!
Cards can be picked up, moved, grouped, ordered and it's all visible! not hidden away in an electronic system somewhere!
Now I accept that with working from home, distributed teams etc electronic systems do have some advantages... and they help with the stats for your burn down/up etc, etc ... but I like cards! it's simple and visible!
9. Keep it visible!
And that's it... how to write a god user story! and all in under 10 points!
Written by Christian Miles