How to select user stories – part 1February 11, 2010 at 4:04 pm | Posted in Agile | 3 Comments
This is going to be a series of blogs (probably 4 or 5) about selecting user stories. According to Wikipedia User stories are “used with Agile software development methodologies for the specification of requirements”. Pretty straightforward. Once you got a bunch of user stories selected you can prioritize them. This list is called the product backlog and one of the backbones of the Scrum process. With the backlog the software development team can plan their iterations, starting from the top with the stories with the highest priority or business value.
Now while this sounds very easy, in practice this might become a bit harder. In Scrum terms, the product owner decides on the priority. Now what if you have three product owners, each with their own stakes they want to defend? And what if you just start from the top of the backlog. What happens with the low priority stories? Is it really ok to just ignore those stories, based on their priority?
To answer these questions and to help a customer I used a very simple tool that is based on the Boston Consulting Group matrix. Thus I ended up with the following picture:
On the horizontal axis we determine the priority. This is a proxy for the benefit that a certain feature will generate. The product owner(s) decide on the priority. On the vertical axis we put the effort. Effort can be expressed in hours or complexity points. Effort is a proxy for the cost to build a certain feature.
With this simple picture it was easy to explain to the customer in what order they should build their features:
- High priority, low effort (green area): this is the low hanging fruit that should be picked up first.
- High priority, high effort (yellow area, upper right): here are the user stories which have a high risk, simply because they take a lot of effort to implement. Because of this risk, they should be picked up as soon as possible.
- Low priority, low effort (yellow area, lower left): only implement these if you have time left
- Low priority, high effort (red area): obvious, don’t bother to implement. Unless… but that will be the subject of one of the next blogs.
While everyone could see the benefit of this approach I still had some doubts. What I particularly disliked is the discontinuity right in the middle: the green, the red and the yellow areas touch each other. So user stories close to the middle can be in any of the four categories, especially since neither effort nor priority estimates are exact.
Again the solution is obvious. For this blog post I will just show the resulting picture and elaborate on it in my next post: