It’s no secret that software developers, managers and analysts do a poor job estimating projects. Few IT projects complete within the time they are estimated and far more go over the original estimate than under it.
Steve McConnell knows how difficult estimation can be His 2006 book Software Estimation is subtitled Demystifying the Black Art.
Developing reasonable estimates of software projects may not be a black art, but it does cause problems and most people fail at it for a variety of reasons.
McConnell refers to estimation as an art, not because it has no basis in science, but because formulas don't tell the whole story. Experience and difficult-to-measure inputs are required to generate a complete estimate. And even then, you may still get it wrong.
When McConell lists sources of estimation error (subjectivity, missing tasks, unwarranted optimism, excess precision), it's startling how many of those factors I have experienced or contributed in my own career.
The author provides various methods for creating an estimate and guidance on improving the accuracy of your estimates. Among his advice is:
If part of your job includes estimating software projects, this is an essential book to guide you. Like most of McConnell’s books, I recommend it.