Page 128 -
P. 128
CHAPTER 4 SOFTWARE PROCESS AND PROJECT METRICS 99
organization. But before we begin, some words of wisdom are suggested by Grady
and Caswell [GRA87]:
Some of the things we describe here will sound quite easy. Realistically, though, establish-
ing a successful company-wide software metrics program is hard work. When we say that
you must wait at least three years before broad organizational trends are available, you get
some idea of the scope of such an effort.
The caveat suggested by the authors is well worth heeding, but the benefits of mea-
surement are so compelling that the hard work is worth it.
4.6.1 Arguments for Software Metrics
Why is it so important to measure the process of software engineering and the prod-
uct (software) that it produces? The answer is relatively obvious. If we do not mea-
sure, there no real way of determining whether we are improving. And if we are not
improving, we are lost.
By requesting and evaluating productivity and quality measures, senior manage-
ment can establish meaningful goals for improvement of the software engineering
process. In Chapter 1 we noted that software is a strategic business issue for many
companies. If the process through which it is developed can be improved, a direct
“We manage things impact on the bottom line can result. But to establish goals for improvement, the cur-
‘by the numbers’ in rent status of software development must be understood. Hence, measurement is
many aspects of our
lives. . . . These used to establish a process baseline from which improvements can be assessed.
numbers give us The day-to-day rigors of software project work leave little time for strategic think-
insight and help ing. Software project managers are concerned with more mundane (but equally impor-
steer our actions.” tant) issues: developing meaningful project estimates, producing higher-quality
Michael Mah
Larry Putnam systems, getting product out the door on time. By using measurement to establish a
project baseline, each of these issues becomes more manageable. We have already
noted that the baseline serves as a basis for estimation. Additionally, the collection
of quality metrics enables an organization to "tune" its software process to remove
the "vital few" causes of defects that have the greatest impact on software develop-
ment. 9
At the project and technical levels (in the trenches), software metrics provide imme-
diate benefit. As the software design is completed, most developers would be anx-
ious to obtain answers to the questions such as
• Which user requirements are most likely to change?
• Which components in this system are most error prone?
• How much testing should be planned for each component?
• How many errors (of specific types) can I expect when testing commences?
9 These ideas have been formalized into an approach called statistical software quality assurance
and are discussed in detail in Chapter 8.