Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Evaluating software estimates: sure signs of unrealistic figures?

Tags:

Whilst answering “Dealing with awful estimates” posted by Ash I shared a few tips that I learned and personally use to spot weak estimates. But I am certain there must be many more!

What heuristics to use in the scenario when one needs to make a quick evaluation of software project estimate that has been compiled by a third-party (a colleague, a business partner or an external company)?

What are the obvious and not so obvious signs of weak software estimates that can be spotted without much detailed knowledge of task at hand?

like image 519
Vlad Gudim Avatar asked Feb 16 '09 13:02

Vlad Gudim


People also ask

Why is it impossible to get accurate estimates for projects?

Projects are never the same 99% of the time, projects aren't the same, so even if you have built something similar in the past, your current project probably won't be identical. Therefore, it's hard to predict the exact amount of time needed to finish it.

What are the needs of software estimation?

Without it, stakeholders will not be able to determine how long a software project will take to complete, how much it will cost, how many people they will need to complete it and how productive they will be, or how many defects they can expect to find during testing. Ignoring size leads to bad estimates.


2 Answers

  • A single person having done the estimates, rather than having used consensus based estimation (to fully understand the implied scope of requirements) such as Wideband Delphi.
    • Especially true if the person doing the estimation is not the person doing the implementation!! - I once worked on a project estimated by someone else as 60 days before any requirements had even been given. Lets just say I was not a happy bunny
  • No time for documentation.
  • No time for ramp-up (in terms of learning, and team size).
  • No list of risks, and their impact to the timescale.
  • No buffer for the unexpected - in terms of late breaking requirements, and risks.
like image 52
toolkit Avatar answered Sep 21 '22 06:09

toolkit


No one has said it, so I will. The obvious answer is that if you have software schedule estimates then that is a sure sign of unrealistic figures. Yes, there are many methods for estimating software but none of them are accurate in any way, shape or form. What usually happens is that deadlines are set. If the task is over-estimated then extra time is spent making the result better. If the task is under-estimated then something is sacrificed to meet the delivery (like testing and features).

I know this answer isn’t what people want to believe, but estimating is always a guess. More often than not, a developer can’t even predict how much they will accomplish by the end of the day. You are expecting them to guess things months/years down the road on something that they aren’t even sure what is really involved yet.

The only practical answer to your question that isn’t prone to giving unrealistic results would be using a worksheet that comes up with guesses based on previous history at your company. Unfortunately, that will not account for tasks the estimator missed. At least this may give ballpark numbers.

Unless you develop knock offs of the same exact system over and over again, then anyone who thinks they have figured this out is fooling themselves. There are way too many variables involved.

like image 20
Dunk Avatar answered Sep 20 '22 06:09

Dunk