Steve McConnell requires no introduction. Remember in Code Complete and Rapid Development Steve said Software Estimation really required a full book. Finally he found the time to aggregate all that has been written on the topic, sprinkle with his own wisdom and produce a Software Estimation guide intended for mere mortals rather than specialists in the field.
There are three main sections to the book:
1. Critical Estimation Concepts
2. Fundamental Estimation Techniques
3. Specific Estimation Challenges
Over the 18 years in IT four of the sixteen projects I participated in failed, in every case problems grew from wishful thinking and unrealistic estimates. If every IT manager read and understand chapter one if this book IT failure rates would plummet overnight, but then there would no hugely late projects for expensive IT consultants to rescue either 😉 Admittedly chapter one teaches an experienced developer little, but I left with a better vocabulary to translate my experience into terms non-technical managers are likely to understand and agree with. The diagram called ‘Cone of Uncertainty’ and the section on why underestimation is really dangerous are prime examples that
Interestingly in every failure I saw serious problems mounting well before the projects were canceled. Trying to forewarn management generally results in being labeled a trouble maker, so before you batter a pointy-haired manager with this book make sure you can easily find another job!! I had to once; of course politics and wishful thinking did not deliver working code and the project failed. Both people responsible for firing me were fired for incompetence, and the client tells me they now have a much smaller team producing much better results after the purge; what a surprise ;).
Recently I presented on Software Estimation at the local IASA chapter, the material was based on this book (with Steve’s permission!) and people loved the content – it seemed like every single person present came to me and said they enjoyed the material or emailed me later.