DEV Community

Cover image for Why Estimates Are Waste
Ben Brazier
Ben Brazier

Posted on • Originally published at torvo.com.au

Why Estimates Are Waste

Software development is unpredictable but people waste hours every week trying to guess how long tasks will take.

No Estimates

Estimation can provide confidence in future changes, but this doesn’t apply to software development because:

  • If you can predict work then you should automate it instead of repeating it.
  • If you can’t predict work then attempting to do so is a waste of time.

Automation Instead of Accurate Estimation

Repetition increases predictability. It isn’t possible to accurately estimate how long a task will take if you have never done it. In other words, the more you repeat a task the more predictable it becomes.

Predictability ≈ Repetitions

Repeated work should be automated. In software development the ability to re-use libraries, frameworks, and APIs means that repeatable work can be automated. The more you repeat it the more effort would be saved with code re-use and automation.

Value of Automation ≈ Repetitions

Accurate Estimates Correlate with Wasted Effort. As repetitions increase the value of automating and the predictability both go up. Therefore …

V ≈ R ≈ P

Inaccurate Estimation is Harmful

If the purpose of estimation is to plan around the future then inaccurate estimates can only lead to problems. This is compounded by the cost of estimating work in time and effort.

Instead of spending time and effort on estimating work that can’t be predicted or should be automated we should find alternatives. One of the most agile approaches is to work without estimates.

Working Without Estimates

Working without estimates is critical to good software development and goes hand in hand with continuous delivery. The simplest process to work without estimates is:

  1. Identify the most valuable task.
  2. Work on that task.
  3. Repeat.

It is important to consider the time spent on estimating work and the value it provides. This minimal process may be too strict for you but next time you are estimating your work consider the value it provides.

If you would like to discuss this further please contact me on Twitter @BenTorvo or Email ben@torvo.com.au

Discussion (1)

Collapse
nombrekeff profile image
Keff

I agree with this one. One thing to consider though, is that, for consulting companies, like the one I work at, we need to create bugets/cost estimations for certain developments. So estimating is kinda required, otherwise we don't know how much to charge them. But it's really difficult to calculate, so we usually double or even tripple our initial estimations, and even then we sometimes take longer to build.