Episode 122 - 18 Apr 2018
Get multiple estimates. Ideally, from different people
To err is human; but we can average out the “errs” by estimating in a team.
I think this makes sense intuitively: If we ask a group of 5 people to estimate the weight of a locomotive and get these results:
We could average them out (60 + 140 + 120 + 120 + 80)/5 = 104
Which isn’t far off.
But things don’t always work out so cleanly.
Now that this group is warmed up, let’s test them again:
“How long does it take to get from Paris to Brussels?”
(it’s a question we’ve asked before. And if you saw last week’s episode, you know that I am - quite literally - asking for trouble.)
Here are the estimates:
Whoa… that’s quite a range: 1 hour to 4 days!
4 days is 96 hours. That’s a range of very nearly 2 orders of magnitude.
What’s wrong with these people? What’s going on inside their heads?
Let’s take a look:
5 people estimating... 5 entirely different things!
Which brings us to the second key:
What if we asked them a different question:
“How FAR is it from Paris to Brussels?”
The results are in:
This time the answers are in board agreement: they all of the same order of magnitude.
An estimate of 2,000 would be one order of magnitude different; 2 orders of magnitude would be 20,000 miles.
Which will get you most of the way around the earth!
If we look inside their heads...
Looks like everyone’s looking at the problem in the same way: everyone is using the same basis for their estimate.
It’s an OBJECTIVE measure.
That’s In contrast to the SUBJECTIVE measure we started with: travel time.
When we’re estimating in software development, we want to avoid “development time” - which is a SUBJECTIVE measure.
Instead, we want an OBJECTIVE measure.
And the unit of measure of this “objective measure” is the Story Point.
Here’s a definition from Mike Cohn:
“Story points are a unit of measure for expressing an estimate of the overall effort that will be required to fully implement a product backlog item or any other piece of work.”
So it’s a measure of the effort required to build, test and release the Feature or story.
Mike goes on to say:
“Because story points represent the effort to develop a story, a team’s estimate must include everything that can affect the effort. That could include:
At the risk of stretching an analogy to breaking point…
we could say similar things about a map.
Let’s move on…
We’ve still one more key to get to.
As we touched on last time, the originators of Story Points felt the need to bring a new unit of measure into the world because other non-time unit of measure candidates - lines of code, function count, number of commits - were too easy to fake.
But they’ve given us a measure that is ABSTRACT - you can’t look up the size of a Story Point.
the absolute size of a Story Point doesn’t matter. The reason for that is a consequence of our third and final rule.
Sorry people; maps again!
The team we started with did a pretty good job of estimating the distance from Paris to Brussels.
But everyone on the the team was either from France or Belgium. And none of them have been to the USA
So this time I’m going to take them right out of their comfort zone:
“How far is it from San Francisco to Los Angeles?”
They are going to struggle.
Would it help to see a map? Yes, but only if they can figure out the scale.
We’re not going got get much joy out of these guys
Let’s give them one last try:
“The distance from San Francisco to Los Angeles is ______ the distance from San Francisco to Fresno.”
Chances are that they’ll all say “TWICE as FAR”
Do you think anyone here thought about miles or kilometres this time? There was no need!
Compared to any of the questions we’ve asked so far, this one is super-easy!
Let’s try another one:
If I asked you which of these is heavier, you wouldn’t hesitate!
And you’d also be able to have a stab at how many times this one is heavier than that one.
All you could do it without having a clue about the weight - in tons - of either of them.
Seems we’re pretty good at estimating the relative sizes of things.
And that’s why it’s not a problem that a Story Point doesn’t have an absolute size.
In practice when we’re estimating using story points, we’re interested in the RELATIVE size of Features.
And it’s the relative sizing that’s behind the choice of the fibonacci series...
But I’m getting well ahead of myself: that’s a tale for another day!
That’s wrap up with a reminder of the three keys to estimating
In summary, three keys to ANY kind of estimating: