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
                                                                   ®
   131   132   133   134   135   136   137   138   139   140   141