Why Software Estimates Are Difficult

Andrey Khavryuchenko has a great read on an all-to-common situation: A client has incomplete requirements, or has some red flags, but wants a fixed bid. Happens all the time in professional services.

There’s a real gem of an analysis in the middle of the post, having to do with the confidence levels associated with completing a particular small job in a given time frame.

The job requires 8 hours of focused developer time, and 1 hour of review by QA. There is a 1 in 5 chance that QA will reject the work and send it back to dev for fixing; a 4 in 5 chance of passing it through.

Khavryuchenko runs the numbers through a simple gamma distribution and finds the following eye-opening numbers:

  • The 95% confidence level that the item will be complete and correct would require an estimate of 41 billable hours and 9 calendar days. (!)
  • The 50% confidence level would require an estimate of 16 billable hours and 4 calendar days. (!!)

Even if you estimated almost double what you thought it would take, you’d still have a fifty percent chance of losing money on the deal.

Note to self: I need to dust off my statistics and probability textbooks. I have found that math knowledge is like a muscle — if you don’t use it, after time it atrophies and is prone to injury if suddenly called upon. In college, my probability courses were taught by a leathered, woolen old Scot, more given to the Robert Bruce school than the Socratic school. Probably my least-fondly-remembered subject in math.

Advertisements

0 Responses to “Why Software Estimates Are Difficult”



  1. Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s





%d bloggers like this: