Software Estimation Best Practices, Tools & Techniques: A Complete Guide for Software Project Estimators

Front Cover
J. Ross Publishing, Jul 15, 2009 - Business & Economics - 320 pages

“Effective estimation is one of the most vital success factors of any project, and especially so in the software industry. Yet, many people struggle with how to estimate software projects due to high uncertainty, great complexity, and the pressure to churn out more, faster. In this definitive and much-needed book, Murali Chemuturi offers real-world solutions, explaining all aspects of proper software estimation in an engaging and accessible style. He exposes myths, clears up misconceptions, and offers practical advice on estimating every imaginable kind of software project. This should be on the desk of anyone who manages software projects.”

Jerry Manas, Author of Napoleon on Project Management and Managing the Gray Areas

Almost every software project begins with the utterances, “What will this cost?” and “When will this project be done?” Once those words are spoken, project stakeholders begin to wrestle with how to produce an estimate. Accurately estimating the cost or time to complete a software project is a serious problem for many software engineers, developers and project managers who struggle with costs running double original estimates, putting their careers at risk. It is reported that nearly 50% of all software projects are shelved and that one of the major causes is poor estimation practices. If developing software for internal use, poor estimates can represent a significant drain on corporate profits. 

Worldwide growth in the number of companies specializing in the development of software for use by other companies is staggering. India alone has nearly 20,000 such companies. Intense competition has led to an increased demand for fixed-bid pricing in client/vendor relationships, and has made effective cost estimation even more important and, in many cases, critical to a firm’s survival. There are many methods of estimation. Each method has its strengths and weaknesses, proponents and opponents. Knowing how and which one to use on a given project is key to developing acceptable estimates for either internal or external projects.

Software Estimation Best Practices, Tools, & Techniques covers all facets of software estimation. It provides a detailed explanation of the various methods for estimating software size, development effort, cost, and schedule, including a comprehensive explanation of test effort estimation. Emphasizing that software estimation should be based on well-defined processes, it presents software estimation best practices and shows how to avoid common pitfalls. This guide offers direction on which methods are most appropriate for each of the different project types commonly executed in the software development space and criteria for selecting software estimation tools. 

This comprehensive desk reference explains software estimation from scratch to help the beginner and features advanced techniques for more experienced estimators. It details project scheduling, including resource leveling and the concept of productivity, as applicable to software estimators, demonstrating the many benefits of moving from the current macro-productivity approach to a micro-productivity approach in software estimation. Software Estimation Best Practices, Tools, & Techniques: A Complete Guide for Software Project Estimators caters to the needs of all software project stakeholders, from novice to expert. It provides the valuable guidance needed to estimate the cost and time required to complete software projects within a reasonable margin of error for effective software development.

 

Contents

Software Estimation
1
Paradoxes of Software Estimation
9
Software Estimation from Scratch
21
Software Estimation by Project Type
31
Approaches to Software Estimation
49
Software Size Estimation
67
Software Size Units
97
Software EstimationComplexity or Density
107
Criteria for Selecting a Software Estimation Tool
217
Variance Analysis between Actual and Estimated Values
225
Project Types and Suitable Software Estimation Techniques
237
Estimation Sheet for Delphi Technique
239
Deriving Productivity from Past Projects
243
Suggested Phases and Tasks for TaskBased Estimation
251
Sample Process Definition for Software Estimation
259
Estimation Presentation Template
265

Software Development Effort Estimation
115
Productivity for Software Estimators
135
Schedule Estimation for Software Development Projects
153
Software Development Cost Estimation
165
Test Size and Effort Estimation
173
Pitfalls and Best Practices in Software Estimation
195
Estimation Request Note Template
269
Quick Reference
273
Abbreviations
281
Index
285
Copyright

Common terms and phrases

About the author (2009)

Murali Chemuturi is an information technology and software development subject matter expert, hands-on programmer, author, consultant and trainer. He has more than 23 years of information technology and software development experience and several years of academic experience teaching a variety of computer & IT courses. In 2001, he formed his own IT consulting, training and software development firm known as Chemuturi Consultants. Mr. Chemuturi's undergraduate degrees and diplomas are in Electrical and Industrial Engineering and he holds an MBA and a Post Graduate Diploma in Computer Methods & Programming. He is a published author in professional journals, a member of IEEE, a senior member of the Computer Society of India and a Fellow at the Indian Institute of Industrial Engineering.

Bibliographic information