Monday, April 20, 2009

Why Are Software Development Estimates In-accurate?

I came across an article on about why estimations are inaccurate. The article starts with the question - Who made the estimate? If it's the new guy, he hadn't a clue of the team's efficiency, the skeletons in the closet (flaws in the existing system), and the requirements. If it's the upper management, the estimates made are either based on a dissimilar project or to please a higher-up guy. If it's marketing, they are in the business of selling the client an estimate and that's what makes it worse - you can't change your estimate, based on what you learn the further down the path you go, because what was sold to the client was the original estimate!

Often, we spend time doing things we didn't originally estimate for, such as lack of documentation, inadequate hardware and things we normally tend to overlook. Then, there's something that can be described as an act of God - illnesses, family emergencies and stuff of the sort.

Having put all of the above aside, dealing with the problem involves padding estimates, keeping management informed about resource and information requirements, and limiting changes to the scope or time frame and avoiding unrealistic time frames.

Finally, what you can do to keep work moving at the intended pace is to follow a couple of simple scrum practices (daily sprints, daily standup meets) and dealing with difficult people.


  1. Yeah Nitin

    I agree to that.
    The sales people project something to customer and actual delivery is altogether different.
    Proper planning-for sure is required.
    Homework done before starting the project always pays off.



  2. IT is best to invite the actual experienced programmer who is actually going to do the project to the table and get his/her views before submitting the estimation.

    software developers

  3. Hi! Your blog is simply super. you have create a differentiate. Thanks for the sharing this website. it is very useful professional knowledge. Great idea you know about company background.
    Customized application development