Web Technologies

Trivariate time estimation

May 29th, 2012 at 07:05

An estimate is not a suggested deadline. Nor is it a fixed time period. It is a distribution.

Estimating project times is hard. How does one take into account all the endless list of although highly unlikely, still possible things that could go wrong? Luckily for us, others have had the same problem and come up with good solutions. One of these solutions have been around from 1957, originally intended to estimate US navy submarine projects. The idea is to provide three numbers for each subtask, all of them fairly easy to get right by themselves.

  1. An optimistic estimate – the happy path where nothing goes wrong
  2. A nominal estimate – a realistic estimate, probably based on previous experience on similar projects. This is what most of us would provide as the estimate if only allowed to give one number.
  3. A pessimistic estimate – every possible bad case combined, bar the scrapping of the project

These three numbers can be combined to a probability distribution, returning an expected duration of a task and an standard derivation as a measure of uncertainty. All well and good so far, but the real power of the method is surfaced (like submarines) with the ability to simply add the expected values and uncertainties together for a total project estimate.

I didn’t include the exact math above, as I figured somebody ought to have created an online calculator for the purpose. And indeed, there is a how long will your project take software estimation app, complete with an extended history of the method, instructions and graphs (try hovering over the graphs for nice tooltips).

Comments are currently not open for this post.