Why do you estimate?

Estimates or no estimates? Unless or until you know why you want an estimate, even a "perfect" estimate is wasted.

Discussions of “proper” estimation are en vogue again. Maybe they always have been, and I’ve just noticed again.

There’s a lot of cargo-culting with questions like “Should I use T-shirt sizes or the Fibonacci sequence to size tasks?” and “Should we use story points or hours?”

There’s also a lot of contrary posts with hashtags like #noestimates, claiming that estimates are all doomed to fail, so you shouldn’t even try.

But what both sides tend to usually overlook is the reason for estimating.

Unless or until you know why you want to estimate something, any effort, even with the aide of a time machine that can reveal perfect predictions, will be a waste.

If you knew with 100% certainty that Task A would take 3.6 hours, and Task B would take 19 minutes, what would you do differently?

If you can’t answer this question, then estimates are are of no value to you.

On the other hand, if you do have an answer to that question, then you know how much of an estimate you actually need. Consider some (very simple) examples that could apply to these two imaginary tasks:

  1. Both tasks accomplish the same goal, so we’ll select the faster one.
  2. Both tasks have the same business impact, so we’ll do the faster one first, to reap the business benefits sooner.
  3. We only have 2 hours before the demo. Anything that takes longer isn’t worth doing.
  4. We need to do both tasks regardless. The order doesn’t matter.

With these goals in mind, we can reach entirely different conclusions about how (and if) to estimate:

  1. We don’t need to know the absolute time for both tasks. We just need to know which is easier/faster. This is probably known intuitively without any real discussion.
  2. Same as #1. We’ll do both tasks, but we probably know intuitively which to do first.
  3. It’s probably intuitively clear than Task B can be done before the demo. Maybe we need to discussion Task A for a while to determine if it’s worth doing before the demo.
  4. The estimates make no difference, so skip that, and just start working.