Page 110 -
P. 110

CHAPTER 4  SOFTWARE PROCESS AND PROJECT METRICS                     81

                              can be used either as a noun or a verb, definitions of the term can become confus-
                              ing. Within the software engineering context, a measure provides a quantitative indi-
                              cation of the extent, amount, dimension, capacity, or size of some attribute of a product
                              or process. Measurement is the act of determining a measure. The IEEE Standard
                              Glossary of Software Engineering Terms [IEE93] defines metric as “a quantitative mea-
                              sure of the degree to which a system, component, or process possesses a given
                              attribute.”
                                When a single data point has been collected (e.g., the number of errors uncovered
                “Not everything that  in the review of a single module), a measure has been established. Measurement
                can be counted
                counts, and not  occurs as the result of the collection of one or more data points (e.g., a number of
                everything that  module reviews are investigated to collect measures of the number of errors for each).
                counts can be  A software metric relates the individual measures in some way (e.g., the average
                counted.”     number of errors found per review or the average number of errors found per per-
                Albert Einstein  son-hour expended on reviews. 1
                                A software engineer collects measures and develops metrics so that indicators
                              will be obtained. An indicator is a metric or combination of metrics that provide insight
                              into the software process, a software project, or the product itself [RAG95].  An indi-
                              cator provides insight that enables the project manager or software engineers to
                              adjust the process, the project, or the process to make things better.
                                For example, four software teams are working on a large software project. Each
                              team must conduct design reviews but is allowed to select the type of review that it
                              will use. Upon examination of the metric, errors found per person-hour expended,
                              the project manager notices that the two teams using more formal review methods
                              exhibit an errors found per person-hour expended that is 40 percent higher than the
                              other teams. Assuming all other parameters equal, this provides the project manager
                              with an indicator that formal review methods may provide a higher return on time
                              investment than another, less formal review approach. She may decide to suggest
                              that all teams use the more formal approach. The metric provides the manager with
                              insight. And insight leads to informed decision making.




                        4.2   METRICS IN THE PROCESS AND PROJECT DOMAINS
                              Measurement is commonplace in the engineering world. We measure power con-
                              sumption, weight, physical dimensions, temperature, voltage, signal-to-noise ratio . . .
                              the list is almost endless. Unfortunately, measurement is far less common in the soft-
                              ware engineering world. We have trouble agreeing on what to measure and trouble
                              evaluating measures that are collected.


                              1  This assumes that another measure, person-hours expended, is collected for each review.
   105   106   107   108   109   110   111   112   113   114   115