You are on page 1of 13

Edited by Foxit Reader

Copyright(C) by Foxit Software Company,2005-2008


For Evaluation Only.

ELSEVIER

Maturity, Models, and Goals:


How to Build a Metrics Plan

Shari Lawrence Pfleeger


Centre for Software Reliabilily, City University London, England

Many software project managers want to implement a development plan, but they don’t know how to be-
process or product improvement program for their gin. The software engineering literature describes
software development or maintenance project. To be dozens of metrics that can be applied to a wide
effective, the improvement activities must be accom- variety of project, process, and product attributes
panied by measurements to support them. Thus, man-
(Conte et al. 1986; Pfleeger, 1991; Fenton, 1991).
agers must select metrics for a measurement plan
Which metrics should be chosen for a given project?
that will start small and address key project needs.
This article explains what a metrics plan is and de-
How should the metrics be used? What actions
scribes an approach that combines a goal-question- should be taken in response to patterns indicated by
metric analysis with process maturity assessment and the measurements? All of these questions should be
process modeling. This combination allows an organ- answered in the project’s metrics plan so that man-
ization to tailor metrics collection and analysis to agers and developers know what to collect, when to
the needs and characteristics of the project and organ- collect it, and how the data relate to management
ization that will use the metrics. The goal-question- decisions. This article describes how to build such a
metric technique ensures that each measurement is metrics plan so that managers can establish a flexi-
useful to someone in the organization. The process ble and comprehensive metrics program as part of a
maturity framework is used to ensure that what needs
larger process or product improvement program.
to be measured is visible in the process, and the
The approach to metrics planning combines three
process model helps the project manager understand
when and where metrics will be collected and how
techniques: the goal-question-metric paradigm (Bas-
they will be used. In concert, these techniques enable ili and Rombach, 1988), the process maturity frame-
the project manager to migrate from a small, initial set work for metrics (Pfleeger and McGowan, 1990),
of key indicators to a larger, more comprehensive and models of an organization’s software develop-
measurement program. The article lists example goals, ment or maintenance process (McGowan and Boh-
questions, and metrics that have been identified for a ner, 1993). This combination of methods has been
defense organization and a reuse project manager, used successfully in different situations.
and describes how the techniques discussed have We begin by describing the contents of a metrics
actually been used on real metrics programs to tailor plan and outlining the types of information th’at such
metrics plans to individual project needs.
a plan should include. Then we explain how to
derive measurements from project goals, and from
INTRODUCTION them, key questions that need to be answered. That
Many software project managers acknowledge that is, a manager can decide what measurements are
measurement helps them understand and guide the needed, not just what measurements are possible.
development of their projects. They want to select Next, we show how to use notions of process matu-
particular metrics, perhaps as part of an overall rity and visibility for selecting metrics. Maturity can
help managers decide what is visible enough to
measure. Then maturity is combined with the goals
and questions to produce a list of candidate metrics
Address correspondence to Shari Lawrence pfleeger, Centre for
Sofhvare Reliabili& City Uniuersity, Northampton Square, London
for a given project or organization. Once a subset of
EC1 V OHB, United Kingdom. the candidates is chosen as a starter set by the

J. SYSTEMS SOFTWARE 1995; 31:143-l%


0 1995 by Elsevier Science Inc. 0164.1212/95/$9.50
655 Avenue of the Americas, New York, NY 10010 SSDI 0164-1212(94)00094-4
144 .I. SYSTEMS SOFTWARE S. L. Pfleeger
1995: 31:143-m

project manager, process models can be used to help The plan must state clearly what types of analysis
determine when selected metrics will be collected will be carried out with the data, who will do the
and analyzed and how the results will be applied to analysis, how it will be conveyed to the decision
improve the process. Throughout the discussion, we makers, and how it will support decisions.
present examples of how these techniques have been Thus, the metrics plan paints a comprehensive
used in real projects to decide how to begin metrics picture of the measurement process, from initial
collection and analysis. definition of need to analysis and application of the
results. The remainder of this article discusses tech-
niques that aid in answering the questions addressed
WHAT IS A METRICS PLAN? in the metrics plan.
A metrics plan is much like a newspaper article: it
must describe the who, what, where, when, how, and
why of metrics. With answers to all of these ques- WHY MEASURE?
tions, whoever reads the plan knows exactly why We measure because we need to know about an
metrics are being collected, how they are used, and attribute or characteristic of something that is im-
how metrics fit into the larger picture of software portant to us. A metric is a vehicle for that under-
development or maintenance. standing, providing a standard unit to be used as a
The plan usually begins with the why. It is in this basis for comparison among like items or character-
introductory section that the plan lays out the goals istics. For example, in our everyday life, meters,
or objectives of the project, describing what ques- liters, and grams are used as three basic metrics
tions need to be answered by project members and for comparing measurements of the length, capac-
project management. For example, if reliability is a ity, and weight of many things. In the same way,
major concern of the developers, then the plan software metrics provide a basis for comparing the
discusses how reliability will be defined and what various aspects of software development and main-
reporting requirements are imposed on the project; tenance that are needed for understanding and eval-
later sections of the plan can then discuss how uating the development and maintenance processes.
reliability will be measured and tracked. One way that metrics promote understanding is by
Next, the plan addresses what will be measured. making aspects of development or maintenance more
In many cases, the measurements are grouped or visible, so we can see into the ways in which pro-
related in some way. For instance, productivity may cesses, products, resources, methods, and technolo-
be measured in terms of two component pieces, size gies relate to one another. Aided by metrics, we can
and effort. So the plan will explain how size and answer questions about the effectiveness of tech-
effort are defined and then how they are combined niques or tools, the productivity of activities (such as
to compute productivity. testing or configuration management), the quality of
At the same time, the plan must lay out where and products, and more. In addition, metrics allow par-
when during the process the measurements will be ticipants in the process to define a baseline for
made. Some measurements are taken once, whereas understanding the nature and impact of proposed
others are made repeatedly and tracked over time. changes. Finally, metrics allow both managers and
The time and frequency of collection are related to developers to monitor the effects of activities and
the goals and needs of the project, and those rela- changes on all aspects of development, so that ac-
tionships should be made explicit in the plan. tion can be taken as early as possible to control the
How and who address the identification of tools, final outcome should actual measurements differ
techniques, and staff available for metrics collection significantly from plans. Thus, measurement is use-
and analysis. It is important that the plan discuss not ful for
only what measures are needed but also what tools
will be used for data capture and storage and who is l visibility and understanding
responsible for those activities. Often, metrics plans l establishing a baseline for improvement
ignore these crucial issues, and project members l planning, monitoring, and controlling products,
assume that someone else is taking care of metrics processes, and resources
business; the result is that everyone agrees that the
metrics are important, but no one is actually as- Although a measurement program is an essential
signed to get the data. Likewise, responsibility for part of any development program, it is useful only in
analysis often slips through the project cracks, and the larger context of assessment and improvement.
data pile up but are never used in decision making. Choosing metrics, collecting data, analyzing the re-
How to Build a Metrics Plan J. SYSTEMS SOFTWARE 145
1995; 31:143-155

suits, and taking appropriate action require time and question. In this way, an understanding of goals
resources; these activities make sense only if they is used to generate suggested metrics for a given
are directed at specific improvement goals. project.
The GQM templates provided by Basili and Rom-
bath (1988) also encourage managers to consider
GOALS, QUESTIONS, AND METRICS the context in which a question is being asked, as
A manager or developer may find a particular mea- well as the viewpoint of the questioner. For example,
surement useful when it promotes understanding of a programmer is likely to ask different questions
a process, its resources, or one of its resultant prod- about productivity or quality than a corporate vice
ucts. However, the utility derives from knowing how president. The programmer may want to know pro-
the process, product, or resource relates to overall ductivity to be able to project when he or she will
project goals. Thus, recognizing improvement can finish designing or coding a module, whereas the
occur only when the project has clearly defined goals vice president may want to know if productivity has
for process and products. That is, you can’t tell if been improved by a recent investment in tools. The
you are going in the right direction until you know viewpoint can affect the way a metric is defined (by
where you started and where you want to go. The the programmer on a module-by-module basis or by
goal-question-metric (GQM) approach to process the vice president on a project-by-project basis) and
and metrics, first suggested by Basili and Rombach used.
(1988), provides a structure from which managers By deriving measurements from goals and ques-
and developers can derive a set of crucial project tions, it is clear how the resulting data points will be
goals, plus the questions that must be answered in related to one another and used in the larger con-
order to tell if the goals have been met. The tech- text of the project. Figure 1 illustrates a simple
nique has proven to be an effective approach to example of how several metrics might be generated
implementing metrics at NASA’s Goddard Space from a single goal. The figure shows that the overall
Flight Center, Contel Corporation, and elsewhere goal is to evaluate the effectiveness of using a coding
(Grady and Caswell, 1987; Rifkin and Cox, 1991; standard. To determine if the standard is effective,
Pfleeger, 1993). The technique works as follows. several key questions must be asked. First, it is
First, the overall goals of the organization are delin- important to know who is using the standard, so that
eated. From each goal, questions are identified, the the project manager can compare the productivity of
answers to which help managers know if progress is the coders who use the standard with the productiv-
being made toward reaching the goal. Then, each ity of those who do not. Likewise, the manager
question is analyzed in terms of what measurements wants to compare the quality of standard-compliant
are needed to help determine the answer to each code with the quality of nonstandard code. To ad-

GOAL: Evaluate effectiveness of coding standard

QUESTIONS: Who is using What is coder What is code


stanxm

METRICS: Proportion Experience of Code Effort Errors ...


of coders coders Size
- using - with standard (lines of
standard - with language code, function
- using _ with environ- points, etc.)
language ment,
etc.

Figure 1. Example of deriving metrics from goals and


questions.
Edited by Foxit Reader
Copyright(C) by Foxit Software Company,2005-2008
For Evaluation Only.
146 J.SYSTEMS SOFlWARE S. L. Pfleege
1995: 31:143-m

dress these issues, it is important to ask question metrics, the MITRE group chose instead to tab
about productivity and quality. advantage of the commonalities among the organi
Once these questions are identified, each question zations needing a metrics plan. The MITRE tean
is analyzed to determine what must be measured in developed a prototype tool that uses hypermedia tc
order to answer the question. For example, to un- guide a project manager through choices for goal:
derstand who is using the standard, it is necessary to and questions. Such an approach allows a projec
know what portion of coders uses the standard. manager to select those goals that are most critica
However, it is also important to have an experience first, and the tool then suggests measurements im
profile of the coders that explains how long they mediately useful on the manager’s project. Afte:
have worked with the standard, the environment, the consultation with DOD representatives, it appearec
language, and other factors that might affect code that any DOD project is likely to have at least one o
quality. The productivity question requires a defini- the following high-level goals:
tion of productivity, which is usually some measure
of effort divided by some measure of product size. l Improving productivity
As shown in Figure 1, the measurement can be l Improving quality
expressed in terms of lines of code, function points, l Reducing risk
or any other metric that will be useful to the project
manager. Similarly, quality may be measured in terms Each of these high-level goals can then be exam
of the number of errors found in the code, failure ined for its implications for resources, products, am
rates, or other quality measurements that the pro- process. For example, the goal of improving produc
ject manager would like to use. tivity can involve several subgoals for resources:
In this way, only those measurements that are
l Ensuring adequate staff skills
related to the goal are generated. Notice that, in
many cases, several measurements may be needed to l Ensuring adequate managerial skills
answer a single question. Likewise, a single mea- l Ensuring adequate software engineering technol
surement may apply to more than one question. The ogY
goal provides the purpose for collecting the data,
and the questions tell the project how to use the Similarly, improving productivity with products in
data. What is not evident from the GQM tree is the volves three tasks:
model needed to combine the measurements in a
l Identifying problems early in the process
sensible way so that the questions can be answered.
For example, coder productivity may be measured in l Using appropriate technology
terms of effort per line of code, but that relationship 0 Leveraging reuse
is not explicit in the tree. Thus, the GQM approach
must be supplemented by one or more models that Interpreting productivity in terms of process mean
express the relationships among the metrics. ensuring both appropriate technology and effective
Similarly, the metrics are not always clear and process activities. Table 1 shows an expanded hierar
unambiguous. The tree does not tell the project thy of goals and subgoals derived in this way. Once
manager how to measure a line of code or a func- the manager selects the goals and subgoals that art
tion point, but only that some measurement of code most important to the project, the tool asks him OI
size is needed to answer a question about productiv- her to select questions (related to each goal) tha
ity. Additional work is needed to define each metric. reflect the areas of deepest concern. For example, i
In cases where no objective measurement is avail- the manager has chosen
able, subjective measurements must be identified. l Improving productivity
To see how the GQM paradigm can be applied on
a broad scale, consider MITRE’s Metrics Advisor and then
tool (J. Heimberger, 19941, which uses goals, ques-
tions and metrics to help a project manager tailor a l Ensuring adequate staff skills
metrics program to the needs and goals of a devel- he or she can then select at least one of the follow
opment project. MITRE Corporation was asked by ing questions:
the U.S. Department of Defense (DOD) to assist in
designing a metrics program for a large number of 1. Does project staffing have the right skills mix fol
DOD organizations. Rather than perform a GQM the job?
analysis for each organization and use it to suggest 2. Does the staff have adequate experience?
How to Build a Metrics Plan J. SYSTEMS SOFTWARE I47
1995: 31:143-155

Table 1. Goals and Subgoals for a ‘Apical DOD Project their development projects. For instance, users in
ImprovingProductivity the Army must collect standard metrics, called STEP
Improvingproductivityusingresources (Software Test and Evaluation Plan) metrics, in ad-
Ensuring adequate staff skills dition to the ones generated by the goals and ques-
Ensuring adequate managerial skills
Ensuring adequate host software engineering technology tions.
Improving productivity using products However, specific metrics recommendations can-
Identifying problems early not yet be offered, because there is a missing piece
Using appropriate technology
Leveraging reuse to the metrics puzzle. Measurements can be made
Improving productivity using process only when the item to be measured is visible enough
Using appropriate technology in the deveIopment or maintenance process to be
Ensuring that the process activities are effective
Improving Quality understood and controlled. To see how visibility
Improve quality using resources relates to measurement, we turn to the notion of
Ensuring adequate staff skills process maturity.
Ensuring adequate managerial skills
Ensuring adequate target software engineering technology
Improve quality using products
Improving requirements quality APPROPRIATE MEASUREMENT: METRICS
Improving design quality AND PROCESS MATURITY
Improving code quality
Improving test quality Some development processes are more mature than
Improving documentation quality others, in that some processes are open and easily
Improving quality using process
Detecting and eliminating errors early in the process controlled, whereas others are arcane and depen-
Ensuring that process activities are effective dent on a small set of individual programmers. The
Reducing risk using resources notion of process maturity, first developed at IBM,
Ensuring staff stability
Ensuring that hardware and software are adequate
has been expanded and built on by the Software
Reducing risk using products Engineering Institute’s (SE11 reports and activities
Complying with budget and schedule constraints on process maturity and capability maturity (Hum-
Estimating and forecasting accurately
phrey, 1989; Paulk, 1991, 1993a and b). A key dis-
Maintaining requirements stability
Maintaining design stability criminator among process maturity levels is the
Maintaining code stability amount of visibility developers and managers have
Reducing risk using process
into the overall development process. At the lowest
Preventing errors
levels of maturity, the process is not well understood
at all; as maturity increases, the process is better
understood and better defined. Measurement and
Similarly, if the manager has chosen visibility are closely related: a developer can mea-
l Improving quality sure only what is visible in the process, and measure-
ment helps to enable and increase visibility. In other
and then words, what we can see is what we can measure.
l Improving requirements quality Thus, as noted by Pfleeger and McGowan (19901,
the five-level maturity scale used by the SE1 is a
then the related questions are as follows: convenient context for determining what to measure
first and how to plan an increasingly comprehensive
1. Is each requirement clear and understandable?
measurement program.
2. Is each requirement testable?
Table 2 presents an overview of the types of
3. Is each requirement reusable?
metrics suggested by each maturity level. Level 1
4. Is each requirement maintainable?
metrics provide a baseline for comparison as im-
5. Is each requirement correct?
provements are sought. Level 2 metrics focus on
After navigating through the hierarchy and identi- project management, whereas level 3 metrics mea-
fying the key goals and questions, the manager is sure the intermediate and final products produced
directed to describe several organizational charac- during development. The metrics at level 4 capture
teristics that affect the way in which the tool will characteristics of the development process itself to
suggest metrics. For example, the manager should allow control of the individual activities of the pro-
identify where the DOD the organization is located. cess. A level 5 process is mature enough and man-
This information can be used to expand the scope of aged carefully enough to allow metrics to provide
the suggestions, because some military groups have feedback for dynamically changing the process dur-
very specific measurement requirements for all of ing a particular project’s development.
148 J. SYSTEMS SOFTWARE S. L. Pfleeger
1995; 31:143-155

Table 2. Overview of Process Maturity and Measurement*

Maturity Level Characteristics Type of Metrics to Use


5. Optimizing Improvement fed back to the process Process plus feedback for changing the process
4. Managed Measured process Process plus feedback for control
3. Detined Process defined and institutionalized Product
2. Repeatable Process dependent on individuals Project management
1. Initial Ad hoc Baseline
*Pfleeger and McGowan, 1990.

The initial level of process maturity is character- resources used to produce the final product. The
ized by an ad hoc approach to the software develop process is repeatable in the same sense that a sub-
ment process. That is, inputs to the process are ill routine is repeatable; proper inputs produce out.
defined, the outputs are expected, and the transition puts, but there is no visibility into how the outputs
from inputs to outputs is undefined and uncon- are produced. Asked to define and describe the
trolled. Similar projects may vary widely in their process, the manager can draw no more than a
productivity and quality characteristics because of diagram similar to Figure 2. This figure shows a
lack of adequate structure and control. For this level repeatable process as a structure analysis and design
of process maturity, it is difficult even to write down technique (SADT) diagram, with input on the left!
or depict the overall process; the process is reactive output on the right, constraints at the top, and
and ill defined, depending on particular individuals resources on the bottom. For example, requirements
and their capabilities rather than on clear and ex- may be input to the process, with the software
plicit activities and controls. For this reason, visibil- system as output. The control arrow represents such
ity into a level 1 process is nil and comprehensive items as schedule and budget, standards, and man
measurement difficult. Managers may have goals agement directives; the resources arrow can include
relating to improved quality and productivity, but tools and staff.
they do not know what current levels of quality and Because visibility suggests measurement, Figure 2
productivity are. For this level of process maturity, suggests that project management metrics make the
baseline metrics should be collected to provide a most sense for a repeatable process. That is, because
starting point for measuring improvement as matu- all that is visible are the arrows, it is possible tc
rity increases. Developers at level 1 should concen- associate metrics with each arrow in the process
trate on imposing more structure and control on the diagram. Thus, for a repeatable process, measures ot
process, in part to enable more meaningful measure- the input might include the size and volatility of the
ment. requirements. The output may be measured in terms
The second maturity level, called repeatable, iden- of system size (functional or physical), the resources
tifies the inputs and outputs of the process, the as overall staff effort, and the constraints as cost and
constraints (such as budget and schedule), and the schedule in dollars and days, respectively.

Control

Figure 2. A repeatable process (level 2).

Resources
Staff
Tools
How to Build a Metrics Plan J. SYSTEMS SOFIWARE 149
1995; 31:143-IS.5

Inspection Test
Design Method Plans
s Critefia

+
Require- Define, System
ments+ Design Software

t
Tools, Tools, Tools,
Staff Staff Staff

Figure 3. A defined process (level 3).

The defined level of maturity (level 3) differs from suggest instability of the requirements or design,
level 2 in that a defined process provides visibility which can affect the quality of the code. By measur-
into the “construct the system” box. At level 3, ing and tracking changes and their impact, charac-
intermediate activities are defined, and their inputs teristics of the requirements or design can be mea-
and outputs are known and understood. This addi- sured and used to predict the quality of the code.
tional structure means that the input to and output Such measurements use process visibility to provide
from the intermediate activities can be examined, more control over development: if requirements
measured, and assessed, because these intermediate quality is unsatisfactory, additional work can be ex-
products are well defined and visible. Figure 3 shows pended on the requirements before the design activ-
a simple example of a defined process with three ity begins. This early correction of problems helps
typical activities. However, different processes may not only to control quality but also to improve
be partitioned into more distinct functions or activi- productivity and reduce risk.
ties. A managed process (level 4) adds to a defined
Because the activities are delineated and distin- process some visible degree of management over-
guished from one another in a defined process, sight, as shown in the example process of Figure 4.
product measurement should begin no later than Here, feedback from early project activities (e.g.,
level 3. Defects discovered in each type of product problem areas discovered in design) can be used to
can be tracked, and the defect density of each prod- set priorities for current activities (e.g., redesign)
uct can be compared with planned or expected val- and later project activities (e.g., more extensive re-
ues. In particular, early product measurements can view and testing of certain code and a changed
be useful indicators of later product measurements. sequence for integration). Because activities can be
For example, many changes to the requirements may compared and contrasted, the effects of changes in

Rep rting requirements from senior management


f

Figure 4. A managed process (level 4).


I 1 I 1
150 J. SYSTEMS SOFTWARE S. L. Pfleeger
1995; 31:143-155

one activity can be tracked by others. By level 4, the fall approach. As requirements are defined and de-
feedback determines how resources are deployed; sign is begun, metrics may indicate a high degree of
the basic activities themselves do not change. At this uncertainty in the requirements. Based on this infor-
level, the effectiveness of process activities can be mation, the process may change to one that proto-
evaluated: how effective are reviews? configuration types the requirements and the design, so that some
management? quality assurance? defect-driven test- of the uncertainty can be resolved before substantial
ing? The measurements collected are used to stabi- investment is made in implementation of the current
lize the process, so that productivity and quality will design. In this way, an optimizing process gives maxi-
match expectations. mum flexibility to development. Metrics act as sen-
A significant difference between levels 3 and 4 is sors and monitors, and the process is not only under
that level 4 measurements reflect characteristics of control but can change significantly in response to
the overall process and the interaction among major warning signs.
activities. Management oversight relies on a metrics The five categories of metrics described here-
data base that can provide information about such baseline, project management, product, process for
characteristics as distribution of defects, productivity feedback, and process for control-are meant to be
and effectiveness of tasks, allocation of resources, nested. That is, at a given maturity level, the metrics
and the likelihood that planned and actual values for that level and all levels below it can be collected.
will match. However, it is important to note that process matu-
An optimizing process is the ultimate level of rity does not involve a discrete set of five possible
process maturity; it is depicted in Figure 5. Here, ratings. Instead maturity represents relative loca-
measurements from activities are used to improve tions on a continuum from 1 to 5. An individual
the process, possibly by removing and adding process process is assessed or evaluated along many dimen-
activities and changing the process structure dynam- sions, and some parts of the process can be more
ically in response to measurement feedback. Thus, mature or visible than others. For example, a repeat-
the process change can affect the organization and able process may not have well-defined intermediate
project as well as the process. Results from one or activities, but the design activity may indeed be
more ongoing or completed projects may also lead clearly defined and managed. The process visibility
to a refined, different development process for fu- diagrams presented here are meant only to give a
ture projects. The spiral model is an example of such general depiction of typical processes. It is essential
a dynamically changing process, responding to feed- to begin any measurement program with an exami-
back from early activities in order to reduce risk in nation of the process model and determination of
later ones. what is visible. The figures and tables should not
This tailoring of the process to the situation is proscribe metrics simply because the overall matu-
indicated in Figure 5 by the collection of process rity level is a particular integer; if one part of a
boxes labeled To, T,, . . . , T,,. At time To, the process process is more mature than the rest, then metrics
is as represented by box T,,. However, at time T,, can enhance the visibility of that part and help to
management has the option of revising or changing meet overall project goals, at the same time bringing
the overall process. For example, the project man- the rest of the process up to a higher level of
ager may begin development with a standard water- maturity. Thus, in a repeatable process with a well-

J Figure S. An optimizing process (level 5).


How to Build a Metrics Plan J. SYSTEMS SOFTWARE 151
1995; 31:143-155

defined design activity, design quality metrics may be ring mainly in the number of interface requirements,
appropriate and desirable, even though they are not for example, and much more specific action can be
generally recommended for level 2. taken to limit the problems such growth might cause.
Moreover, it is important to remember that suc- Likewise, at level 3, visibility is improved even
cessful metrics programs start small and grow ac- more, and intermediate activities are defined, with
cording to the goals and needs of a particular pro- entry and exit criteria for each activity. Here, re-
ject (Rifkin and Cox, 1991). A metrics program quirements number and type can be augmented with
should begin by addressing the critical problems or the traceability of each requirement to the corre-
goals of the project, viewed in terms of what is sponding design, code, and test components. By this
meaningful or realistic at the project’s maturity level. level, the manager can begin to assess the impact of
The process maturity framework then acts as a each new requirement on particular parts of later
guideline for how to expand and build a metrics system products. This new information enables the
program that not only takes advantage of visibility project team, including the customer, to take action
and maturity but also enhances process improve- early in development that will head off potential
ment activities. The next section illustrates how pro- problems later.
cess maturity can be combined with GQM to suggest Thus, GQM and maturity work hand in hand to
particular metrics. suggest measurement related to key project goals.
This combination offers several advantages. First, it
allows even immature projects to start small, estab-
COMBINING GQM WITH PROCESS MATURITY lishing not only a baseline for measurement but an
Suppose a manager has done a GQM analysis of an understanding of which parts of the process need to
upcoming project for customer X and decides that be made more explicit and controllable. That is, the
quality is the most important project goal. Further- process of choosing metrics is itself a process im-
more, suppose the manager has worked with cus- provement activity, because it highlights areas where
tomer X before and knows that X likes to add more information and control are needed. Second,
requirements to the project as development pro- the combination provides a migration plan from a
gresses. Thus, the manager decides that a critical starter set of measurements to a larger, more com-
question to be answered is this: Are the require- prehensive measurement program. The expansion
ments growing? happens either when new goals must be addressed
Consider how process maturity affects the way in by measurement or when process improvement and
which this question can be answered. If the project’s increased visibility enable richer or expanded mea-
process is at level 1, then the requirements are likely surement. Finally, the use of GQM and maturity
to be ill defined. Measuring characteristics of the encourage the application of measurement back to
requirements is difficult at this level, so measuring process, product, or resource improvement. Some-
what is visible means that at best the number of times, projects collect metrics information to meet
requirements can be counted in some way and estab- an externally imposed requirement: “thou shalt col-
lished as a baseline. This may be a simple measure- lect and report metrics.” But metrics derived from
ment, such as number of sentences or number of maturity and goals are metrics derived from a clear
“shahs.” At level 2, the same question can be an- and visible project need; they are more like to be
swered more easily. The requirements are well de- used to support important project decisions and
fined, and the user can not only count requirements actions.
but also capture additional information about each
requirement. For instance, the type of each require-
ment (data, interface, and so on) can be very useful WHERE, WHEN, WHO AND HOW: THE
in answering the question and understanding what is PROCESS MODEL
happening on the project. Here, the additional visi- The approach described in the previous section helps
bility into the requirements offered by type informa- the project manager to decide
tion provides a finer granularity to the measurement
and more insight into what is happening. At level 1, l what to measure
the manager can show X that requirement growth is l why to measure it
severe and is likely to affect the schedule or budget.
However, a metrics plan is neither complete nor
But at level 2, the manager has a lot more to say. By
useful until the developers and maintainers know
knowing growth within types of requirements, the
manager can pinpoint the fact that growth is occur- l who is responsible for collecting data
152 J. SYSTEMS SOFTWARE S. L. Pfleeger
1995; 31:143-155

l when the data will be collect and with what fre- test scripts, models, architectures, and more. A reuse
quency management program can enable management to
l where in the process the data will be collected
l understand the reuse process
l how the data will be collected
l evaluate the quality of the artifacts of develop-
Suppose a manager has selected a small set of ment and maintenance and the library that con-
measurements to answer key questions for managing tains the artifacts
the project. To understand where and when the data l control the activities of the reuse process
will be collected, the manager needs a model of the
development or maintenance process. The model l forecast future reuse needs based on current
can be expressed in any of several ways, graphical or trends
textual. Whatever way the process is described or
The measurements needed to address these goals
depicted, the model must have the following charac-
teristics: fall into two classes: technical and managerial. The
technical measurements address the needs of soft-
1. The process model must include all of the major ware developers and maintainers as they analyze a
process activities that involve measurement. problem and generate a software-based solution that
2. The model must be detailed enough to show the incorporates existing artifacts. The managerial mea-
products, resources, and subprocesses that will be surements address the questions of understanding,
measured. control, and forecasting, including management of
3. The model must display the inputs and outputs of one or more libraries of reusable components. To-
each process activity that will be measured. gether, the measurements allow an organization to
4. The model must identity the constraints on the establish a reuse program, provide guidelines to
process activities (such as budgets, schedules, and developers, evaluate the quality of candidate and
applicable standards). stored components, and assess the effectiveness of
5. The model must identify the resources that will the reuse program as a whole.
be used in each process activity (such as hard- Theofanos and Pfleeger (1993) documented the
ware, software, and personnel). typical goals of a reuse process in the DOD. Then,
using a GQM approach, they identified likely ques-
When the model is complete, the manager can tions to be answered and the measurements that will
examine each of the candidate measurements to aid in answering them. For example, storing and
determine where in the process the measuring will managing components is a major goal of reuse. The
be done. Then, the metrics plan records who will goal is viewed from five different perspectives: that
collect that data, how the data will be collected (e.g., of the software developer (the staff who build and
manually, with a particular tool, and so on), and how maintain the library), project manager (the person
often. The picture of the process can be annotated who oversees a particular library), program manager
with where in the process the measuring will be (the manager of the libraries related to a single
done. Sometimes, the activity of examining the pro- domain), department manager (who oversees a col-
cess in this way leads the project manager to revise lection of distributed libraries), and corporate execu-
the development or maintenance process, thus mak- tive (who is interested in the costs and benefits of
ing things more visible so that they are easier to reuse from a corporate perspective). Within each
measure and assess. So again, measurement and perspective, questions are listed that reflect the con-
process improvement go hand in hand. To see how a cerns of that perspective. Thus, the developer asks
process model, coupled with GQM and maturity, is questions such as
generated and used to support measurement, the
remainder of this section turns to the problem of l How much effort is involved in certifying, main-
measuring the effectiveness of reuse. taining, and cross-referencing components?
Software reuse refers to the organized and man- l How much effort is involved in supplying compo-
aged generation, control, and use of software arti- nents to requesters?
facts, so that artifacts produced in one maintenance
or development project can be used again in other while the project manager asks
projects. Artifacts can include any output of devel-
opment or maintenance, including requirements, de- l How efficient is the library system in terms of
sign components, code, documentation, test data, speed and disk space?
How to Build a Metrics Plan J. SYSTEMS SOFTWARE 153
1995; 31:143-155

The program manager wants to know 3. reusable software consumption: using reusable
l What is the usage profile of the components, and components
how can it be improved? 4. library management: assessing components and
maintaining them in a repository
l What criteria are used to decide whether a com-
ponent should be removed from the library? Then, each of the four activities is modeled as an
The department manager is interested in SADT diagram. The process for an activity is exam-
ined in light of each recommended measurement.
l What trends of component characteristics pro- The model is annotated to show where in the pro-
mote reuse across domains? cess the measurement would be taken. An example
whereas the corporate executive asks is shown in Figure 6, in which the library manage-
ment subprocess includes references to the number
l What are the costs and benefits of reuse for this of each measurement that will be made as part of
corporation? that process. The actual metrics plan requires addi-
Each of these questions is accompanied by a list tional information, including who will collect the
of measurements that will help to answer the ques- data, in what way, and how often. This information
tion. For instance, to understand what trends of can be captured in the process model directly or in
component characteristics promote reuse across do- accompanying documentation. In total, the measure-
mains, the authors recommend collecting ment plan and process model(s) present a complete
picture of measurement for the reuse process. The
size attributes
project manager can use the goals and questions to
quality attributes decide what to measure first. Then, the metrics
whether or not a component is the product analy- program can be expanded to include additional mea-
sis surements as time and need permit. Thus, the met-
domain name of the component rics plan can include a description of the starting
point for the metrics program as well as the scheme
number of examinations of the component by a
for expanding to other measurements.
library user
number of extractions of the component from the
library SUMMARY AND CONCLUSIONS
number of uses of the component in a develop- This article has described a combinational approach
ment or maintenance project to measurement plans and programs. By blending a
number of component dependencies on other top-down analysis of goals to be met and questions
components to be answered with a process maturity framework
names of libraries where the component resides that allows more to be measured as the process
elements are made more visible, the approach allows
In all, almost 100 measurements are identified and
a project to start small (with key goals) and grow
numbered. However, it is impractical to expect a
a metrics program as time and resources permit.
project to begin its reuse measurement program by
Moreover, goals allow the metrics to grow broad
collecting all 100 measurements. Instead, it is up to
across the project, and process maturity aliows the
the reuse managers to decide which goals are the
metrics to grow deep. That is, the process maturity
most critical; then, the measurements associated with
suggests ways to enrich the meaning and utility of a
those goals are collect first. Once the measurements
metric with the additional information that becomes
are selected, the managers must identify who will
visible as the process matures. In this way, the
collect them, when, and how. To do that, the man-
framework supports both initial metrics selection
agers need a reuse process model.
and a migration path to a larger, more comprehen-
The process model is composed of a process’s
sive measurement and process improvement pro-
major activities or subprocesses. In the example
gram.
described above, Theofanos and Pfleeger (1993) view
Unlike previous approaches to measurement, the
reuse in terms of
approach described here uses a process model and
1. domain analysis: identifying areas likely to pro- multiple viewpoints to help ensure that the metrics
duce reusable components program will be practical. The modeling forces the
2. reusable software production: creating reusable project manager ‘r) understand the component activ-
components ities of the development or maintenance process and
154 J. SYSTEMS SOFTWARE S. L. Pfleeger
1995; 31:143-l%

I component to requester Candidates

I Excluded
components

Figure 6. Library management process, annotated with


metrics references.

thereby learn where measurement will fit in. The ble in the process, and they can be used to make
model also helps managers to identify who will col- aspects of the process more visible.
lect and analyze the measurements. Then, the multi- l Measurement is a necessary part of process im-
ple viewpoints ensure that all who need to under- provement.
stand the project will be able to do so. Too often, a
measurement plan explains what to measure but not
where, when, and by whom, and the measurements REFERENCES
are useful only to some of the interested parties. Basili, V. R., and Rombach, H. D., The TAME Project:
The synthesis of techniques described here is not Towards Improvement-Oriented Software Environ-
just theoretical; it has been used repeatedly and ments, IEEE Trans. Software Eng. 14,758-773 (1988).
successfully in major organizations. For example, the Conte, S. D., Dunsmore, H. E., and Shen, V. Y., Software
Metrics Advisor tool (Heimberger, 1994) and the Engineering Metrics and Models, Benjamin-Cummings,
Menlo Park, California, 1986.
AM1 project (Rowe, 1994) base their approaches on
Fenton, N., Software Metrics: A Rigorous Approach, Chap-
combining GQM with process maturity; there are
man and Hall, London, 1991.
hundreds of members of the AMI user group alone Grady, R., and Caswell, D., SojIware Metrics: Establishing
who find the approach appealing. The hard work of a Company-Wide Program, Prentice-Hall, Englewood
deriving a goals tree, examining maturity, and devel- Cliffs, New Jersey, 1987.
oping a process model is rewarded when the result is Humphrey, W., Managing the Sofhyare Process, Addison-
a measurement program tailored to project needs Wesley, Reading, Massachusetts, 1989.
and clearly mapped to day-to-day project activities. McGowan, C. L., and Bohner, S., Model-based process
The examples given here confirm what has been assessment, in Proceedings of the 15th International Con-
reported in the literature (Rifkin and Cox, 1991); ference on Sofhvare Engineering, IEEE Computer Soci-
Pfleeger, 1993; Fenton, 191; Grady and Caswell, ety, 1993.
Paulk, M. C., Curtis, B., Chrissis, M. B., Averill, E. L.,
19871, namely, that
Bamberger, J., Kasse, T. C., Konrad, M., Perdue, J. R.,
Measurements must be tied to the needs of the Weber, C. V., Witney, J. V., Capability Maturity Model
organization that will collect and use them. for Software, SE1 Technical Report SEI-CMU-91-TR-
24, Software Engineering Institute, Pittsburgh, Pennsyl-
Measurement programs should start small and
vania, 1991.
grow as their needs change and resources permit. Paulk, M. C., Curtis, B., Chrissis, M. B., Weber, C. V.,
Measurements are closely related to what is visi- Capability Maturity Model for Software, Version 1.1,
How to Build a Metrics Plan J. SYSTEMS SOFTWARE 155
1995; 31:143-155

SE1 Technical Report SEI-CMU-93-TR-24, Software Pfleeger, S. L., and McGowan, C. L., Software Metrics in a
Engineering Institute, Pittsburgh, Pennsylvania, 1993a. Process Maturity Framework, J. Syst. Software 12,
Paulk, M. C., Curtis, B., Chrissis, M. B., Weber, C. V., Key 255-261 (1990).
Practices of the Capability Maturity Model for Soft- Rifkin, S., and Cox, C., Measurement in Practice, SE1
ware, Version 1.1, SE1 Technical Report SEI-CMU-93- Technical Report SEI-CMU-91-TR-16, Software Engi-
TR-25, Software Engineering Institute, Pittsburgh, neering Institute, Pittsburgh, Pennsylvania, 1991.
Pennsylvania, 1993b. Theofanos, M. F., and Pfleeger, S. L., A Framework for
Pfleeger, S. L., Sofiware Engineering: The Production of Creating a Reuse Measurement Plan, Technical Report,
Qualily Software, 2nd edition, Macmillian, New York, Martin Marietta Energy Systems-Data Systems Re-
1991. search and Development Division, Oak Ridge, Ten-
Pfleeger, S. L., Lessons Learned in Building a Corporate nessee, 1993.
Metrics Program, IEEE Sofbvare lo(3) (1993).

You might also like