Thursday, December 11, 2014

Myths and half-truths about estimates


Estimating is in our DNA. It is about the future, the knowledge, the power – all the things that make us feel in control.  Estimates are required, and are the most straightforward (or even the only) way to gain trust, and budget, to go forward.

Yet… it is an open secret that estimates are flawed. Things do not go as planned. Resources become unavailable, assumptions turn out to be incorrect, changes trickle down in a never-ending stream, and communication becomes strained.

While having flawed estimates may be preferable in some situations to having none, commitment to wrong numbers can wreck havoc on any project. If you are going to estimate, steer clear of these mistakes people frequently make, even if they have plenty of experience with estimating.

  • Myth: If your estimates are a range of dates, you are doing a good job managing expectations.
    • Only the earlier, lower, more magical numbers will be remembered. And those will be accepted as firm commitments.
    • The lower bound is usually set at "the earliest date the project can possibly be completed". In other words, there is absolutely no way the work can be completed any earlier, even by a day. What are the chances of hitting that exact date? Practice shows - close to nil. 

  • Half-truth: You can control the quality of your estimate by putting more work into producing this estimate.
    • By spending some time learning about the project, researching resources available, considering major and minor risks, one can produce a somewhat better estimate.
    • The above activities are only going to take the quality of the estimate so far.  Past a certain point, no matter how much effort goes into estimating a project, the quality of the estimate is not going to improve. Then the best bet is to simply start working on the project.

  • Myth: People can learn to estimate better, as they gain experience.
    • It is possible to get better at estimating – if one keeps estimating the same task, which becomes known and familiar with experience. This is hardly ever the case in software development. Every project is different, most teams are brand new, and technology is moving along fast enough.
      • Do not expect to produce a better estimate for your next project than you did for your last one.
      •  By the same token, do not expect a worse estimate. The quality of the estimate is going to be low, and it is going to be random.

  • Half-truth: it is possible to control the schedule by giving up quality.
    • Only for short-term, throw-away temporary projects.
    • For most projects, aiming for lower quality has a negative effect on the schedule.




3 comments:

  1. Nice post!
    So, how do you suggest we deal with these myths and half-truths?
    Perhaps it's about risk? http://www.infoq.com/presentations/risk-project-management

    ReplyDelete
  2. Henrik, thank you for your comment!
    The way to deal with the lack of quality estimates is being prepared to manage risk and uncertainty. Risk management, re-assessing the complexity, team capacity and requirements must happen over time, as the team works on the project.
    The team also needs to continuously communicate with stakeholders and clients to manage expectations, and not rely on initial projections.

    ReplyDelete