A Day in the Life of a User Story

[process, story, done, bugs, improvements, product demo]

‘A user story is a planning unit, it is not a ‘requirement’. A user story has a life of its own. It starts as a twinkle in a PO’s eye, and ultimately it may be deployed in code. A lot can happen from start to finish. This article puts some process around the life of a user story’

Just for fun I found myself thinking about finite state machines. If you don’t know what a finite state machine – does it really matter? Don’t you just love the words ‘finite’, ‘state’, ‘machine’. Wow. So exotic. I remember thinking that at university. Since then I’ve loved making them. I must admit that other people never seem quite as excited about them as me – and I’m not sure what that

Anyway, enough nonsense. How’s this? A Kanban board is a view on story ‘state’. What’s ‘state’? Best to use an example. Say you have columns on your Kanban board ‘Waiting’, ‘In play’ and ‘Done’. These are all states. A story can’t be in two columns at once.

A finite state machine is a diagram that shows you all the possible states something can be ‘in’. Maybe you think the Kanban board is simple enough, you don’t need a diagram. Ha Ha, I’d disagree with you! Now, basically speaking a user story has the part of its life when it’s being written (prepared), and the part of its life when it’s on the board. It kind of has a secret life before the developers get to see it. This is part of what the Product Owner’s role is – to write the stories. Maybe you think a user story is not much more than a ‘As a ping pong player, I want to hit the ball over the net, so that it lands on the other side of the table’. Again, I’d disagree with you. No – how about the bat, and the net, and the table size, and the table colour and the ball size and what happens if it hits my side of the table first? I mean – that’s important stuff.

So, how might you use a diagram with stuff like ‘conceived’, ‘authoring’, and ‘accepted’. Like this. Maybe I’m the Product Owner (writer) and I want to work only on the broad bare bones stories, or I want to find out which stories need a UX element, or I want to know what features have currently been implemented in this release. Perfect. I can do that. That’s a lot of help for release planning.

So for everyone out there who’s a little interested in the life cycle of a story take a look. Image these are like the rules of a board game you get for Xmas, except you don’t have to read much. Just look at the picture.

And for anybody who’s into finite state machines, maybe I’ve made a mistake! Prove me wrong. I’d love that.

This post first appeared here.

Leave a Comment

Your email address will not be published. Required fields are marked *