Page 116 -
P. 116

CHAPTER 4  SOFTWARE PROCESS AND PROJECT METRICS                     87

                ?  How should  design quality and to provide indicators that will influence the approach taken to code
                              generation and testing.
                   we use
               metrics during the  The intent of project metrics is twofold. First, these metrics are used to minimize
               project itself?
                              the development schedule by making the adjustments necessary to avoid delays and
                              mitigate potential problems and risks. Second, project metrics are used to assess
                              product quality on an ongoing basis and, when necessary, modify the technical
                              approach to improve quality.
                                As quality improves, defects are minimized, and as the defect count goes down,
                              the amount of rework required during the project is also reduced. This leads to a
                              reduction in overall project cost.
                                Another model of software project metrics [HET93] suggests that every project
                              should measure:

                                •  Inputs—measures of the resources (e.g., people, environment) required to do
                                   the work.
                                •  Outputs—measures of the deliverables or work products created during the
                                   software engineering process.
                                •  Results—measures that indicate the effectiveness of the deliverables.

                              In actuality, this model can be applied to both process and project.  In the project con-
                              text, the model can be applied recursively as each framework activity occurs. There-
                              fore the output from one activity becomes input to the next. Results metrics can be
                              used to provide an indication of the usefulness of work products as they flow from
                              one framework activity (or task) to the next.



                        4.3 SOFTWARE MEASUREMENT
                              Measurements in the physical world can be categorized in two ways: direct measures
                              (e.g., the length of a bolt) and indirect measures (e.g., the "quality" of bolts produced,
                              measured by counting rejects). Software metrics can be categorized similarly.
                                Direct measures of the software engineering process include cost and effort applied.
                ?  What is the  Direct measures of the product include lines of code (LOC) produced, execution speed,
                   difference
                between direct and  memory size, and defects reported over some set period of time. Indirect measures of
                indirect measures?  the product include functionality, quality, complexity, efficiency, reliability, maintain-
                              ability, and many other "–abilities" that are discussed in Chapter 19.
                                The cost and effort required to build software, the number of lines of code pro-
                              duced, and other direct measures are relatively easy to collect, as long as specific
                              conventions for measurement are established in advance. However, the quality and
                              functionality of software or its efficiency or maintainability are more difficult to assess
                              and can be measured only indirectly.
                                We have already partitioned the software metrics domain into process, project,
                              and product metrics. We have also noted that product metrics that are private to an
   111   112   113   114   115   116   117   118   119   120   121