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.