Page 129 -
P. 129

100           PART TWO  MANAGING SOFTWARE PROJECTS


                       Answers to these questions can be determined if metrics have been collected and
                       used as a technical guide. In later chapters, we examine how this is done.

                       4.6.2  Establishing a Baseline
                       By establishing a metrics baseline, benefits can be obtained at the process, project,
                       and product (technical) levels. Yet the information that is collected need not be fun-
                       damentally different. The same metrics can serve many masters. The metrics base-
                       line consists of data collected from past software development projects and can be
                       as simple as the table presented in Figure 4.4 or as complex as a comprehensive data-
                       base containing dozens of project measures and the metrics derived from them.
                          To be an effective aid in process improvement and/or cost and effort estimation,
          ?  What critical  baseline data must have the following attributes: (1) data must be reasonably accu-
            information
         can metrics   rate—"guestimates" about past projects are to be avoided; (2) data should be col-
         provide for a  lected for as many projects as possible; (3) measures must be consistent, for example,
         developer?
                       a line of code must be interpreted consistently across all projects for which data are
                       collected; (4) applications should be similar to work that is to be estimated—it makes
                       little sense to use a baseline for batch information systems work to estimate a real-
                       time, embedded application.

                       4.6.3  Metrics Collection, Computation, and Evaluation

                       The process for establishing a baseline is illustrated in Figure 4.7. Ideally, data needed
                       to establish a baseline has been collected in an ongoing manner. Sadly, this is rarely
                       the case. Therefore, data collection requires a historical investigation of past projects
         Baseline metrics data  to reconstruct required data. Once measures have been collected (unquestionably
         should be collected  the most difficult step), metrics computation is possible. Depending on the breadth
         from a large,
         representative  of measures collected, metrics can span a broad range of LOC or FP metrics as well
         sampling of past  as other quality- and project-oriented metrics. Finally, metrics must be evaluated and
         software projects.  applied during estimation, technical work, project control, and process improvement.
                       Metrics evaluation focuses on the underlying reasons for the results obtained and
                       produces a set of indicators that guide the project or process.


                 4.7   MANAGING VARIATION: STATISTICAL PROCESS
                       CONTROL
                       Because the software process and the product it produces both are influenced by
                       many parameters (e.g., the skill level of practitioners, the structure of the software
                       team, the knowledge of the customer, the technology that is to be implemented, the
                       tools to be used in the development activity), metrics collected for one project or
                       product will not be the same as similar metrics collected for another project. In fact,
                       there is often significant variability in the metrics we collect as part of the software
                       process.
   124   125   126   127   128   129   130   131   132   133   134