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

Front Cover
J. Ross Publishing, Jul 15, 2009 - Computers - 320 pages
2 Reviews
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 a well-defined process, 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.
 

What people are saying - Write a review

User Review - Flag as inappropriate

One of the best book that I have read on Software Estimation.

User Review - Flag as inappropriate

I read this book with cynicism that is usual in the case of authors from India. I am pleasantly surprised as I started reading the book. First the production of this book was simply superb. Second, this is the first book on estimation that covered the subject of software estimation in a comprehensive manner. All aspects that is size, effort, cost and schedule estimation are covered for the first time. Third, I have been hearing about Delphi and Analogy based estimation techniques and this is the first time that they are covered in a detail that I can implement in my projects. I also liked the treatment about Complexity Vs. Density discussion. last, the discussion about productivity is something that every software estimator should learn about from this book. All in all, this is a comprehensive book about software estimation. I recommend this book without any hesitation to all software project leaders and project managers 

Selected pages

Contents

SOFTWARE DEVELOPMENT EFFORT ESTIMATION
115
The Suggested Scenario
117
INFLUENCE OF SOFTWARE DEVELOPMENT METHODOLOGIES ON SOFTWARE ESTIMATION
118
CONSTRUCTIVE COST MODEL COCOMO
120
Intermediate COCOMO
121
Advanced COCOMO
122
COCOMO II
123
TASKBASED ESTIMATION
124

THE PARADOX OF SOFTWARE PRODUCTIVITY
12
THE PARADOX OF OFFERING FIXED BIDS
14
THE PARADOX OF ACTUAL VERSUS ESTIMATED VALUES
15
THE PARADOX OF UNCERTAINTY
17
SUMMARY
19
SOFTWARE ESTIMATION FROM SCRATCH
21
COMPONENTS AND CONSTRUCTING THE WORK BREAKDOWN STRUCTURE
22
COMPLEXITY OF COMPONENTS
25
APPROPRIATE SOFTWARESIZING TECHNIQUE
26
UNCERTAINTY IN ESTIMATION
27
THE IMPACT OF PROJECT EXECUTION ON ESTIMATION
29
SOFTWARE ESTIMATION BY PROJECT TYPE
31
CLASSIFICATION OF SOFTWARE PROJECTS
32
PROJECTS BASED ON THE SOFTWARE DEVELOPMENT LIFE CYCLE
33
PROJECTS BASED ON HOW A SOFTWARE SOLUTION IS ARRIVED AT
35
Porting of Software
36
Migration of Software
37
Conversion Projects
39
Defect Fixing
40
Operational Support
41
Fixing Odd Behavior
42
Functional Expansion
43
AGILE SOFTWARE DEVELOPMENT PROJECTS
44
WEB PROJECTS
45
SUMMARY
47
APPROACHES TO SOFTWARE ESTIMATION
49
AD HOC APPROACH
50
GROSS ESTIMATES APPROACH
51
DETAILED ESTIMATES APPROACH
52
SOFTWARE DEVELOPMENT EFFORT ESTIMATES
53
THE DELPHI TECHNIQUE FOR SOFTWARE ESTIMATION
54
Briefing the Experts
55
Convergence of Estimates and Finalization
56
ANALOGYBASED SOFTWARE ESTIMATION
57
Selection of Similar Past Projects
58
Shortlisting of Past Projects
60
AnalogyBased Estimation in Software Maintenance
64
SUMMARY
65
SOFTWARE SIZE ESTIMATION
67
APPROACHES TO SOFTWARE SIZE MEASUREMENT
68
CONCERNS WITH SOFTWARE SIZE ESTIMATION
70
LINES OF CODE
71
Merits and Demerits of Lines of Code
73
External Input
75
External Output
76
External Inquiry
77
Internal Logical File
78
Obtaining the Unadjusted Function Point Count
79
Value Adjustment Factor
80
Obtaining the Adjusted Function Point Count
82
USE CASE POINTS
84
Merits and Demerits of Use Case Points
87
OBJECT POINTS
88
Merits and Demerits of Object Points
89
MARK II FUNCTION POINT ANALYSIS
90
Merits and Demerits of Mark II Function Point Analysis
94
SOFTWARE SIZE UNITS
97
DEFINITION OF SOFTWARE SIZE UNIT
98
PROCEDURE FOR SOFTWARE SIZE ESTIMATION USING SOFTWARE SIZE UNITS
99
SOFTWARE DEVELOPMENT EFFORT ESTIMATION FROM SOFTWARE SIZE UNITS
100
HOW TO OBTAIN PRODUCTIVITY FIGURES
103
FREQUENTLY ASKED QUESTIONS ABOUT SOFTWARE SIZE UNITS COMPUTATION
104
MERITS AND DEMERITS OF SOFTWARE SIZE UNITS
105
SOFTWARE ESTIMATION COMPLEXITY OR DENSITY?
107
THE PARADOX OF COMPLEXITY VISĀVIS SIZE
108
DENSITY NOT COMPLEXITY
112
SUMMARY
113
Arriving at Software Development Effort Using TaskBased Estimation
128
Merits and Demerits of TaskBased Estimation
133
PRODUCTIVITY FOR SOFTWARE ESTIMATORS
135
CONCERNS WITH PRODUCTIVITY
136
STANDARD TIME
137
THE PRODUCTIVITY PATH
141
CLASSIFICATION OF SOFTWARE DEVELOPMENT ACTIVITIES
143
HOW DO WE ARRIVE AT PRODUCTIVITY?
145
Work Measurement
146
CAPACITY VISĀVIS PRODUCTIVITY
149
MY RECOMMENDATION FOR HOW TO DETERMINE PRODUCTIVITY
151
SCHEDULE ESTIMATION FOR SOFTWARE DEVELOPMENT PROJECTS
153
INITIAL WORK BREAKDOWN STRUCTURE
154
WORK BREAKDOWN STRUCTURE WITH PREDECESSORS DEFINED
155
WORK BREAKDOWN STRUCTURE WITH INITIAL DATES
157
WORK BREAKDOWN STRUCTURE WITH RESOURCE ALLOCATION
159
SCHEDULING IN PRACTICE
161
SUMMARY
162
SOFTWARE DEVELOPMENT COST ESTIMATION
165
COST OF EFFORT
169
SUMMARY
172
TEST SIZE AND EFFORT ESTIMATION
173
TESTING SCENARIOS
174
Product Testing
175
THE HOW OF TESTING
177
TEST STRATEGY
179
TEST ESTIMATION
180
APPROACHES TO TEST EFFORT ESTIMATION
181
TestCaseEnumerationBased Estimation
183
Task ActivityBased Estimation
184
ISSUES IN SIZING TESTING PROJECTS
186
Who Needs Test Size Estimation?
188
SIZING A TESTING PROJECT
189
Merits and Demerits of Software Test Unit Estimation
191
FINAL WORDS ABOUT TEST EFFORT ESTIMATION
192
SUMMARY
193
PITFALLS AND BEST PRACTICES IN SOFTWARE ESTIMATION
195
PITFALLS IN SOFTWARE ESTIMATION
196
Lack of Training
197
Lack of Historical Data
198
Inadequate Duration for Estimation
199
Not Measuring the Software Size of the Software Product Delivered
200
Usage of a Single Productivity Figure
201
Over or Underestimation
202
BEST PRACTICES IN SOFTWARE ESTIMATION
203
Organizational Support for Software Estimation
204
SOFTWARE ESTIMATION PROCESS
208
Final Words on the Software Estimation Process
213
SUMMARY
216
CRITERIA FOR SELECTING A SOFTWARE ESTIMATION TOOL
217
A COMMON UNIT OF MEASURE FOR SOFTWARE SIZE
218
SCHEDULING THE SOFTWARE PROJECT
219
ESTIMATION FOR PARTIAL LIFE CYCLE PROJECTS
220
USAGE OF POPULAR TECHNIQUES
221
REPORTING CAPABILITY
222
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
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, 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 a 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