There are two common approaches to estimation in Scrum teams: story points and ideal hours. Ideal hours is taken as ‘given what we know today, how long would this story take to implement?’ if everything went according to plan.
It turns out that us humans are pretty terrible at estimating. For example, is this story, with this acceptance criteria, going to take three or four hours? If you’re familiar with this situation you’ll agree it can be hard to tell.
As the team wants to give the client a pretty accurate idea of when they will deliver the story they ask for more information upfront and we find ourselves in the situation where we are defining everything upfront to get a slightly more accurate estimate. This is waterfall people, not what we want!
Estimate = Guess
If we remember one key thing, it is this: an estimate is a guess. That’s it people, an estimate is a guess, it is not a commitment, it is not a firm delivery date. The more time we spend talking about a story to clarify it the closer we’ll be to an estimate in hours that reflects the required number of hours to implement that story. Unfortunately we won’t be any closer to actually delivering it!
Given humans are bad a estimating we can use a relative approach to estimation. For example, what is heavier, 7000 elephants or 1 jumbo jet?
The fibonacci sequence is used by Scrum teams for story point estimates – 1, 2, 3, 5, 8, 13, 21, and so on. Teams use this sequence, rather than a linear 1 – 10 as it forces them to provide a relative estimate. Easier to ask ‘is that a 5 or an 8?’ than ‘is that a 6 or a 7?’. This is a similar problem to the ideal hours described above.
Further to that, reaching consensus on a story point estimate, and getting clarity on acceptance criteria is made easier with the help of planning poker. With planning poker we hand out a set of cards with the fibonacci sequence (1, 2, 3, 5, 8, 13, 21) on them to each member of the team. As the team reads out a story and the acceptance criteria each team member picks a card from their deck and leaves it face down on the table. Once everyone has selected a card the whole team turns over their cards and compares the estimates.
This has two benefits, it is a quick way to estimate and the team has a fruitful discussion about the story and acceptance criteria.
Finally, when a team uses story points for estimation there is no confusion with the customer as to this being a commitment – what would committing to ‘5 story points’ actually mean? As there are no ideal hours attached the customer is under no illusion as to the time involved. Thus freeing the team from an artificial deadline.
Want to learn more about high performing Scrum teams? Sign up now to be notified of the next blog post or podcast.