Developers are smart people. So why are less than a third of software projects done on time or on budget?
Software developers are among the smartest people on the planet and often boast advanced degrees in mathematics, engineering, or computer science. In some ways, they are like superheroes — capable of programming complex functions, juggling myriad technologies, morphing customer ideas into working software, all the while not breaking a sweat.
So how is it that despite such technical savvy and programming prowess, they are so woefully poor at project estimation? Study upon study cites that less than one-third of projects are delivered on time or on budget. Couple this with the fact that close to half of the effort spent doing software projects ends up being "rework," and the whole situation seems to defy logic. How can smart people produce dumb estimates?
When we look across a company to departments, such as finance, that meet or exceed tax deadlines, or manufacturing teams that adhere to tight production schedules, it seems appropriate to conclude that software development should follow suit.
The problem of software project estimation is not straightforward, however. A big part of the problem with software development is doing "estimates" for products (software) that have yet to be designed. I believe that there are five top misperceptions about software estimating: