Practical Software Estimation brings together today's most valuable tips, techniques, and best practices for accurately estimating software project costs and schedules. Authored by one of the field's leading experts, it addresses the full spectrum of real-world challenges you face in developing reliable estimates.
This is the only book with detailed guidance on estimating insourced and outsourced projects, as well as projects that blend both approaches. M. A. Parthasarathy draws on the immense experience of Infosys, one of the world's largest and most respected development organizations. He demonstrates how to successfully utilize Function Point (FP) methods, the industry's leading estimation model. Then, using real case studies, he systematically identifies pitfalls that can lead to inaccurate estimates--and offers proven solutions.
Review By: Matt Gelbwaks 11/05/2007M. A. Parthasarathy's Practical Software Estimation is targeted to those responsible and well experienced in the tasks of estimating software projects. It seems most applicable to large enterprises as a prerequisite text prior to a corporate training course on institutional estimation processes. Regardless, I found it approachable and compelling enough to keep the attention of those already skilled in estimation, and intriguing enough for those novices without a priori knowledge of the lexicon. I also think the author did a masterful job at not politicizing estimation techniques. Though the real focus is towards Function Point Analysis, Parthasarathy casually mentions many other approaches, cites references, and indicates how they can integrate with a function-point-based approach. Having exposure to function point analysis would be helpful to get the most out of the book; but for those diligent enough to flip around to remind themselves of the definitions of some of the acronyms, it is not mandatory.
Fundamentally, the book is directed towards those practitioners entrenched in waterfall methodologies, particularly those utilizing CMMI-type process improvement approaches. One could use this text as the basis for a compliant metrics program that would support much of the rigors required by the CMMI. One structural change I might have made in the book would have been to include much of chapter nine in the Introduction, and then re-emphasized the contents again in the chapter. I found this chapter excellent for really explaining why estimation is so important and how to anchor the concept into each of the engineering disciplines.
The one flaw I found with the book was its oversight in discussion regarding how estimation practices may (or may not) differ between those used in the more prescriptive development methodologies and those used in more iterative or agile methodologies. This is certainly a hot topic that many folks are keenly interested in. All in all, this was a worthwhile read and will remain so as long as people are using function points to estimate waterfall projects.