Story Points means Relative Estimation, right? Not so fast.
Relative Estimation is possible in any unit, including time. And absolute estimation is also possible in any unit, including story points.One argument I often hear from people in favor of Story Points is: Story Points are better than (or at least different from) time-based estimates, because they are relative estimates.
Today I’m not addressing the question of whether or not Story Points are good, bad, or indifferent. I only want to address this specific claim with regard to relative estimation, and attempt to put an end to this (mostly) ridiculous claim.
For our purposes of agile software development, I think it’s safe to use the definition from The Agile Alliance:
Relative estimation … consists of estimating tasks or user stories, not separately and in absolute units of time, but by comparison or by grouping of items of equivalent difficulty.
The first thing to note in this definition is that there’s no mention of Story Points… or time, for that matter. In other words: the unit of estimation is completely absent.
What is present in the definition is the concept of comparison or grouping.
In other words, what makes an estimation relative is that it is in relation to something else (likely of known quantity).
Let’s say you want to estimate the height of a building. You know that the building next to it is 100 meters tall, and the building in question appears to be perhaps 1/5th taller than the known building. You can easily do a relative estimate, and guess that the building in question is aproximately 120 meters tall.
You could also estimate the same building’s height without referencing the building of known height at all, an absolute estimate. You may (or may not) make the same guess of 120 meters.
There are two things to note here between these two estimates:
- The unit of the estimate (meters) is the same between the relative estimate and the absolute estimate.
- By looking at the estimate, you have no way of knowing which method of estimation (absolute, relative, or any other of countless methods) was used.
How does this apply to story points?
Well, in exactly the same way, actually.
If you’re trying to estimate how much effort may go into a new user story, you can do it one of two (or many) ways. You may compare it to other stories you’ve completed, then adjust up or down depending on whether you think this story will require more or less effort. This would be relative estimation.
You may also choose to examine the new user story in isolation, and form your estimate this way.
In either case, whether using relative estimation or absolute estimation, you may estimate in story points or in time (or any other unit: lines of code, Person-months, Thousands of dollars, whatever)
So the idea that Story Points is better than/different from time estimates on the basis of relative estimation is, honestly, ridiculous. You can do relative estimation in any unit at all.
But maybe the real intention of the claim is that Story Points forces relative estimation. Is that true?
Eh… maybe. Sorta. But not really.
Using Story Points does force the use of relative estimation at first. If you’re a new team, and you haven’t decided how big a story point is yet for your team, the simplest way to do so is to simply assign an arbitrary point value to some story that you’ve already completed. Then you can do relative estimation in comparison to that original story. As your history of completed stories grows, you have a larger pool of historical stories to do relative estimation against.
So in a sense, Story Points do “require” the use of relative estimates. At least at first.
However, I’ve never met a team that does actual, or at least conscious, relative estimation for more than a sprint or two. Once a baseline has been well established, and the team has a good feel for the size of a story point, most stories are estimated using absolute estimation.
But what if we really want to split hairs?
Some may argue “Story Points are abritrary, so it’s only possible to do relative estimates, by definition.” Eh, maybe. The definition of an hour is arbitrary, too, when you think about it. As is the length of a meter, or practically any other unit of measure we use. And strictly speaking, when we estimate the height of a building using absolute estimation, we’re still doing a relative estimation to the length of a ruler, right?