How long will your project take?

After I wrote my post on software estimation using the quick method first developed by the navy I decided to build a simple app that lets you play with the concept. To use it, break down your project into a few tasks and give each one three estimates—optimistic (μ), nominal(ψ), pessimistic (ω). More explanation on these at the bottom of the page

Task μ ψ ω Mean Standard Deviation Shape A Shape B low high

The result:


How to use the result

In any software estimation process you have to balance uncertainty with the need to give people some level of information to work from. The range given above is designed to give you something you can have a 95% level of confidence in (of course this depends on you being suitably optimistic / pessimistic in your estimates). So now, the next time someone asks you how long something will take, you can tell them:

“Most likely it will take about (expected Time) days. To be on the safe side, I would plan for it taking between (low estimate) and (high estimate) days

The estimates

When you’re going through this software estimation exercise, use these definitions to guide your estimates

μ: Optimistic (Mu-nicorn)

How long this would take if the stars aligned, unicorns pair programmed with you and generally everything went so well you have to check yourself.The one in a thousand dream scenario

ψ: Nominal

This is the standard issue estimate, what you are used to giving—the amount of time you would expect a task to take under normal circumstances.

ω: Nukem

This is the longest it could take if pretty much everything went wrong. This is the one in a thousand worst case scenario; the Nukem (for more on this read about Nukem here).