Troy Taft's Blog

For Software Development Practitioners


              

Recent posts

Recent comments

Categories






    © Copyright 2009 Troy Taft. All Rights Reserved.

    Why Software Estimates are So Bad

    I want to take a little time to write about why software development estimates are notoriously incorrect.  The reason is very simple.  No one can come close to knowing how long it will take to finish a software product at the beginning of the project.   If someone says they can, they probably are trying to get your money.  We really can’t do it and I have proof.

    It is either greatly misunderstood or ignored that studies have been done about this and been re-hashed over and over in numerous books and methodologies.  The evidence is probably best descriped by the “Cone of Uncertainty”.   The cone expresses the best the industry is capable to date, and it appears to be getting worse.  Here it is:

    This tells us that the best estimates that can be provided at the outset of a project only provide accuracy of 4x to .25x.  This means that if the estimate is 1 year, it could end up taking from 3 months to 4 years.  That is the best it gets folks.

    In my experience I have found, but not scientifically proven, that the cost of determining an accurate estimate in advance is higher than the cost of developing the software itself.  What think I am observing is that the cheapest way to determine how long the software will take to make, is to make the software and find out. If you think about it, this makes sense.

    An observation about the cone of uncertainty is that as time goes by, the range of estimation error decreases if an effort is made to reduce variability during the project.  The problem is that estimates have a cost in both time and effort and the predictability may not be worth it.  That’s something that that those involved in software product ventures need to consider.

    Invention and discovery have never been easy to estimate.  If you doubt this study Edison and Christopher Columbus and those who funded them.  The important thing wasn’t that Christopher Columbus got to India, but that he produced value.  That is something we need to consider when embarking on an effort that primarily involves invention and discovery.  Am I saying not to plan?  No.  Am I saying take the plan with an enormous grain of salt? Yes.  Do I think that there is a way to do estimates that help? Yes, and I hope to talk about that more in the days to come.

    Currently rated 5.0 by 3 people

    • Currently 5/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5

    Posted by troytaft on Thursday, October 16, 2008 8:24 PM
    Permalink | Comments (4) | Post RSSRSS comment feed

    Related posts

    Comments

    DotNetKicks.com

    Thursday, October 16, 2008 8:50 PM

    trackback

    Trackback from DotNetKicks.com

    Why Software Estimates are So Bad

    Kirk us

    Saturday, October 18, 2008 6:16 PM

    Gravatar

    Interesting stuff. Check out my recent post:

    http://kirkgsworld.blogspot.com/2008/10/software-estimation-is-hard.html

    Also check out the comment on that post from someone who has a different opinion on estimation - I tend to agree with you, but there are many out there who would argue that it's not such a 'black art'.

    storypoints.net

    Saturday, October 18, 2008 9:56 PM

    pingback

    Pingback from storypoints.net

    the cheapest way

    old dog us

    Saturday, October 18, 2008 11:15 PM

    Gravatar

    all this hi-falutin' theory is fine if you like it

    but the real reason software estimates are bad is that managers always press for overly optimistic estimates, and will never be held to requirements

    software is basically not all that hard; trying to reason with corporate suits is

    Add comment


    (Will show your Gravatar icon)  

      Country flag




    Live preview

    Tuesday, January 06, 2009 12:34 PM

    Gravatar