Why I estimate upwards


This is what a client asked me recently. I would state, for example, that a task would take 160 hours instead of 154 hours.

Why do you round your estimates upwards?

I explained:

If the estimates are too finely tuned (i.e. 157.5hrs) it would create a false sense of accuracy. It’s impossible to have absolute conviction that a task will take 157 hours either. 160 might even give a false sense of accuracy, but a lesser one at that. 200 hours would have been better (i.e. more human).

Then why round up instead of down?

  • Software estimates are usually under-estimated, not over estimated. The industry definitely does not have an over-estimation problem.
  • However, the penalty for under-estimation is greater than the penalty for over-estimation. These penalties come in various shapes and sizes, but one flavour – disappointment. They include:
  • Drop in code quality due to rushing
    • Budget over-runs
    • Bugs introduced due to rushing
    • Drop in UX quality due to rushing

As much as The Quantified Self movement has challenged individuals to get more accurate at measuring their efficiency down to the mega-watt produced in lifting a pencil, years of experience in project management has taught me that prudence is precious. This is why I’ll round up, and (usually) over-deliver.