A Metric Framework for Object-Oriented Systems
copyright 1994 all rights reserved
Managing Metrics in an Iterative
John D. McGregor
Dept. of Computer Science
Clemson, SC 29634
Software development projects that utilize object-oriented techniques often adopt an iterative incremental process model. This process model uses many rapid passes over the fundamental development steps of analysis, design, and implementation to gradually refine the definition of the problem and evolve a solution to that problem. This model has proven useful but it is more difficult to visualize the progress of a project that periodically repeats the same steps.
Measuring the attributes of software products in the repetitive environment of an iterative incremental development process requires additional management attention. Over successive iterations, multiple observations of each measure are produced. These repeated measurements provide an opportunity for comparisons that can be used to predict the progress of the project.
Additionally, there is the ever present need to collect information as early as possible in the development cycle. Metric values can be measured, or at least estimated, as early as the analysis phase provided we are willing to accept a reduced accuracy in the measurement. There are usually several ways to estimate the value of a particular attribute of either the process or the products depending upon the information available at the time of the measurement. In fact these multiple definitions can be used to form a framework for continuous refinement of estimates across the complete life cycle.
The purpose of this paper is to present a technique that combines continuous refinement during a single pass through the project life cycle with the management of multiple values for each measurement across successive iterations on that life cycle. The next two sections will discuss a few basic assumptions about metrics and the process model being used. Techniques for comparing values within and across iterations will be presentd and finally the management of these values will be discussed. Two metrics being developed for use in object-oriented projects are briefly described as an example of the refinement approach.
1. This work was partially supported by IBM, BNR, and the COMSOFT Consortium.