Page 136 -
P. 136
7 - PROJECT COST MANAGEMENT
complexity is neither straightforward nor trivial, because of the inherent difficulty of quantifying software attributes.
Even during late stages of software development, estimation of software size, complexity and the resulting effort,
schedule, and cost are often inaccurate. Estimation techniques that depend on size and complexity estimates include:
• Analogy,
• Expert judgment (including Delphi),
• Use of historical data,
• Rules of thumb, and
• Estimation algorithms (calibrated using local historical data).
Because of the uncertainties associated with estimation of size and complexity, estimators typically use more 7
than one approach to estimating effort, schedule, and cost.
Often, software estimates are made for small units and rolled up (bottom-up estimation). The cost of integration
and testing of the software components need to be added when bottom-up estimates are made only for the work
to be performed to develop each software component.
7.2.1.9 Rate of Work
Stable software development teams that have all of the needed skills (i.e., cross-functional teams) and who have
worked together over time can establish a predictable rate for producing working, deliverable software. The rate
of production is called velocity; it can be used to provide accurate estimates for developing software increments.
7.2.2 Estimate Costs: Tools and Techniques
Software project managers use most of the estimation tools and techniques listed in Section 7.2.2 of the
PMBOK Guide, but different approaches are used in different situations.
®
After determining the project scope and product scope, and planning for software project cost management,
the software project manager and project team estimate the cost to develop and deliver the software product. The
first level of estimation is typically a preliminary high-level estimate based on requirements, stories, use cases,
or features to be implemented. The goal of initial estimation is to quickly converge on an order-of-magnitude
estimate. This first estimate is used to drive initial planning. Analogies, historical data, and expert judgment are
typically used at this point.
Experts may be asked, either individually or as a group (perhaps using a Delphi process), to develop initial
estimates. Since each expert may use personal experiences and a different estimation method, some perspective
on the accuracy of individual estimates is provided. This approach may be time consuming, and is only as good as
the experts’ judgment. It can be especially useful when a software project involves new technologies.
• Estimation units. The units of measure adopted by a project team or a software organization used
to estimate project work may be expressed in units of effort (e.g., staff-days) or ideal time for a fixed
number of software developers (e.g., development-days).
©2013 Project Management Institute. Software Extension to the PMBOK Guide Fifth Edition 127
®