This previous blog entry exhorted you to go out and talk to your friendly neighbourhood business person.
What will you talk about? A good place to start is to discuss the cost and value of what you’re doing. One of the most powerful tools of XP is “The Planning Game”. You sit down with your customer(s) and decide which features you’re going to implement in the next release. To do this you need:
- Index cards with a “story” each. The card contains a brief description of a feature, just enough to remind developers and customers of the important points of the feature, which they have discussed before and both understand.
- Each card contains an estimate of the required effort to implement the story. Different teams use different units for their estimates: mandays, hours, “ideal days”, gummibears… I just use a scale from 1-6 “story points“
The index cards are easy to lay out on a big table, you get an good overview, it’s easy to move them around. The aim of the game is to define an implementation plan that will generate the highest possible value with the least cost. How do we do this? We already know the cost (albeit in “points”. What’s that in the “real world”?). What is the value of a story? Well, that’s a question for the business people to answer.
Business people have to estimate the potential business value they can gain by putting this story into production use. How do they do that? I use a very simple process, the same one I use to estimate the cost of the story:
- Sort all stories from low to high value, by taking them one by one and comparing them with the stories that have already been sorted.
- When all stories have been sorted, check if the ordering seems correct.
- Give the lowest value story 1 point. Give the highest value story 5-6 points (or whatever maximum you set on value estimations). Don’t use a range that’s too big:
- It might give an impression of precision where there is none
- If some stories are really worth 100 times more than others, why are you wasting time on those stories with ludicrously low value?
- Group the remaining stories in groups with roughly equal value and give them values between 1 and 5. Each story now has an estimated “business value point“.
- Done!
And now planning becomes very easy… Just pick the stories with a good value/cost ratio.
How long does that take? I just did one for a 2-month release with 4 developers and about 30 stories. Estimating costs took two sessions of almost an hour. Estimating value and planning the release took a little over an hour. Let’s say 3-4 hours to estimate and plan a 2-month release. YMMV.
It doesn’t cost a lot of effort to estimate your stories’ business value, but it has some interesting advantages:
- Planning becomes a lot easier
- It makes everybody think hard about the value of each story.
- Some features turn out of to have little or no value. Why should we waste our precious time on them?
- Some features turn out to have a lot more value than technical people would expect.
- Tracking value sends a powerful positive message: we are adding value to the organisation. IT is not a bottomless pit where you pour resources in. IT is a system that generates value for a given investment.
- It clearly delineates the responsibilities of developers and business people
- The developers are responsible for keeping the cost of the stories low
- The business people are responsible for finding and selecting high value stories
- You will know it’s time to stop the project when the added value of the next release is low.