Measurement and Analysis in Capability Maturity Model Integration Models and Software Process Improvement1
Dennis R. Goldenson, Software Engineering Institute Joe Jarzombek, Office of the Under Secretary of Defense (Acquisition, Technology and Logistics) Terry Rout, Griffith University
The explicit incorporation of measurement and analysis as a distinct process area in the Capability Maturity Model
Integration (CMMI®) provides management with the visibility and focus that organizations need to guide the use of measurement
in their process improvement efforts, which was missing in previous models. This article reviews the content and
rationale behind the new process area and describes how the ideas introduced there are further elaborated and evolved throughout
capability maturity model integration models.
Measurement, or the need for it, is pervasive
in software and systems engineering.
Yet an understanding of how to
best use measurement has remained all
too uncommon, as has straightforward
guidance from the experts.
Even experts have difficulty following
the sometimes-implicit threads among the
measurement-related concepts in many
process improvement models and standards.
Exhortations to do measurement,
without sufficiently elaborating what to
do, have not worked exceptionally well in
the past. However, there has been an
increasing recognition of the importance
of focusing explicitly on measurement
and analysis. Certain basic ideas must be
introduced early and well.
The Need for an Early Focus
The need to focus on measurement and
analysis from the beginning of a process
improvement effort has not always been
well understood, even by experienced
assessors and expert consultants. Yet
organizations that have succeeded in putting
successful measurement programs in
place often say they could have avoided
much grief and struggle with rework had
they focused on how to implement measurement
and analysis correctly in the earlier
phases of their process improvement
efforts.
Indeed, some organizations have created
their own measurement process areas
to guide their improvement efforts,
become more competitive, and enhance
their ability to more quickly achieve a
higher level of process maturity. In fact,
measurement is so important to the success
of software projects that the U.S.
Department of Defense requires the following
of all major programs:
... to have a software measurement
process to plan and track the
software program and to assess
and improve the development
process and associated software
product. [1]
Focusing on measurement can provide
much value to both projects and organizations.
Measurement enables project managers
to answer the following questions:
- Is there really a problem?
- How big is the problem?
- What is the scope of the problem?
- What is causing the problem?
- Are there related problems?
- Can I trust the data?
- What should I expect; what will happen?
- What are my alternatives?
- What is the recommended course of action?
- When can I expect to see results?
Measurement helps provide objective
insight into issues and processes, along
with the ability to objectively identify and
manage risks and provide early detection
and resolution of problems. Measurement
also facilitates evidence-based team communication
and enables objective planning
and estimating and the ability to assess
organizational performance in an unbiased
and defensible manner. These in turn
provide an objective basis for defending
and justifying decisions. Finally, measurement
provides information that improves
decision making in time to affect the business
or mission outcome [2].
Doing Measurement Right
Of course, many approaches to software
measurement now exist. Several published
international standards address software
measurement and closely related issues.
There also exists voluminous literature in
software measurement and metrics, and a
rich body of literature in statistics and
quantitative methods dating back well over
a century.
Negotiating the morass of standards,
models, guidebooks, courses, and expert
consultants can be a daunting task.
Fortunately, though, there is a clearly
emerging community of practice that
spans both software measurement and
process improvement2. In fact, the
Capability Maturity Model Integration
(CMMI®) Measurement and Analysis
process area was developed in a collaborative,
coordinated fashion with colleagues
who also worked concurrently with the
Practical Software and Systems
Measurement Support Center, and worked
on the development of the emerging ISO
[International Organization for Standardization]
standards on both software measurement
and process assessment. People
working in the field are also closely coupled
with related work in standards and
with groups such as the International
Function Point Users Group (IFPUG)3.
Measurement and Analysis in Capability Maturity Model Integration Models
The Measurement and Analysis process
area is an important addition to the
CMMI. Its scope is much wider and more
explicit than the treatment of
measurement in the Capability Maturity Model for
Software (SW-CMM) [3]. The SW-CMM
contains a measurement and analysis common
feature, the practices of which apply
to the institutionalization of the model's
key process areas. Akin to generic practices
in capability maturity model integration
models, these practices are meant to
control and improve the performance of
the processes themselves. Some measurement-
related practices also exist in various
places in the activities-performed common
feature in the SW-CMM, but a single,
coherent treatment does not exist for what
is required to establish and sustain a viable
measurement and analysis process.
"The purpose of measurement and
analysis is to develop and sustain a measurement
capability that is used to support
management information needs" [4]. The
Measurement and Analysis process area
supports all process areas by providing
practices that guide projects and organizations
in aligning their measurement needs
and objectives with a measurement
approach that will provide objective
results that can be used in making
informed decisions and by taking appropriate
corrective actions.
As discussed more fully in the process
area itself, measurement and analysis practices
are organized under two specific
goals that are aimed at (1) aligning measurement
activities with identified information
needs and objectives, and (2) providing
data analyses and results that address
those needs and objectives. These goals
may be achieved by the successful performance
of their respective specific practices
shown in Figure 14.
 Figure 1: The Measurement and Analysis Process Area5
(Click on image above to show full-size version in pop-up window.)
The specific practices associated with
the first goal establish a coherent plan for
measurement and analysis. They address
these questions: "Why are we measuring?"
"What are we going to measure?" "How
are we going to measure?" and "What will
be done with the data once we have
them?" The specific practices associated
with the second goal advise the user to
just do it. Of course, the ultimate goal is
as follows:
... to get the results of performing
measurement and analysis into the
hands of those who will take
action based on the results. The
process area emphasizes the need
that results must be communicated
to those needing the information. [5]
Other guidance about what constitutes
good measurement practices does exist in
capability maturity model integration
models, most notably in some of the
process areas with a legacy in the source
documents on which the CMMI is based.
Those process areas do contain certain
specific practices that require measurement
activities to be performed. As seen
more fully in the CMMI, the Measurement
and Analysis process area makes explicit
reference to other process areas - in particular,
Organizational Process Definition
and the heavily measurement-oriented
process areas at CMMI Levels 4 and 5.
With the addition of the Measurement
and Analysis process area, the CMMI
summarizes much of the experience base
on which the proper conduct of measurement
and analysis relies.
Maturing Measurement Capability
The Measurement and Analysis process
area provides a central focus that describes
good measurement practice. But the
process area does not stand alone. The
CMMI also provides important guidance in
its generic goals and practices, some of
which have explicit measurement content.
The generic practices serve together to
help institutionalize measurement and
analysis, or any other process, and to
improve the capability with which measurement
and analysis are performed over the
life cycle of the product and organization.
Like any other process area, measurement
and analysis can progress from being
performed in an essentially ad hoc manner,
through following a well-defined
measurement process, to using measurement
to evaluate and improve the measurement
process itself. Several CMMI
generic practices have a clear measurement
flavor (Table 1). However, all of the
generic practices can be applied to the
conduct of measurement and analysis6.
![Table 1: Measurement-Related Generic Practices [4]](goldensont1.gif) Table 1: Measurement-Related Generic Practices [4]
(Click on image above to show full-size version in pop-up window.)
Several generic practices discuss organizational
policies, sufficiency of resources,
explicit assignment of responsibilities,
and training provisions. These help
establish and sustain process capability and a
commitment to doing measurement regularly
and well. Indeed, they provide the
organizational infrastructure that is necessary
to implement and institutionalize
any process.
Other generic practices provide guidance
for planning and related activities.
The planning-related generic practices,
including the establishment of quantitative
objectives (4.1) and improvement
objectives (5.1) help establish the scope
and objectives for measurement work.
Although they relate to both specific
goals of the Measurement and Analysis
process area, they are particularly important
for the alignment activities discussed
in specific goal 1 listed earlier.
Several generic practices, including
stabilize sub-process performance (4.2),
guide the performance and management
of any process. These also support both
specific goals 1 and 2 of Measurement
and Analysis, but are particularly important
for doing measurement and analysis
and reporting the results.
Finally, along with others, the measurement-
oriented generic practices that
require monitoring and controlling the
process (2.8), collecting improvement
information (3.2), and correcting root
causes of problems (5.2) help evaluate
and improve the conduct of the measurement
process itself. Together they
provide an evidential basis for improving
the manner in which future measurement
and analysis are done7.
Implementing Good Measurement Practice
Along with the measurement-related
generic practices, the Measurement and
Analysis process area provides essential
guidance about what to do whenever
there is a need for measurement. However,
measurement and analysis are
always done in the context of performing
other processes.
The Measurement and Analysis
process area seamlessly integrates measurement
activities with those other
processes to address a wide variety of
both project and organization-wide
information needs and provides a basis
for integrating measurement and analysis
with process definition.
Like other support functions, the
Measurement and Analysis process area
serves multiple purposes. Every process
area is dependent to some extent on
properly using measurement and analysis.
The engineering and management
process areas describe the sources of the
contractual requirements, other information
needs, and business objectives with
which the measurement and analysis
activities are aligned. In turn, the results
of the measurement activities are provided
back to inform the work described
by those same process areas.
Maturing Analytic Capability
Measurement is applied differently as the
organization successfully satisfies the
goals of more and more CMMI process
areas. It typically begins with a focus on
clarifying sometimes-implicit business
objectives and informational needs and
translating them into measurable objectives.
A basic set of skills, resources, and
experiences is built for the future.
Measurement often starts with using simple
charts and graphs, but as the organization
matures, demand increases for
more sophisticated quantitative analyses
such as statistical process control (SPC),
structural modeling, or other multivariate
statistical methods.
As the organization's analytic sophistication
increases, finer-grained measures
of defects and product quality are coupled
explicitly with process performance.
By the time the organization reaches
CMMI Level 4, routine reliance on quantitative
management enhances process
discipline. After Level 5 is attained, there
is increased use of work-product inspections,
systematic programs of defect prevention
driven by causal analysis, and
improved process performance that
often leads to markedly increased predictability
of productivity and schedule.
Analytic Approaches
Many statistical analytic solutions to measurement
problems are possible in software
process improvement; however, few are
widely used. For example, in an unpublished
survey of representatives of high-maturity
organizations, almost 90 percent
reported that SPC control-charting techniques
were in common or standardized
use in their organizations [6]. Only Pareto
analyses8 appear to be more common.
Such wide reliance on SPC and Pareto
analyses is due in large part to the SW-CMM
and its heritage in industrial engineering
and total quality management, and
also because graphical presentations are
intuitive9. Of course, not all problems
have the same solution. SPC, for example,
is only one tool, and it is not always used
correctly. One size does not necessarily fit
all, yet there still is relatively little evidence
supporting use of alternative data analytic
approaches.
Although the use of designed experiments
and quasi-experimentation fits
quite naturally into applications of causal
analysis and defect prevention [7, 8], they
still are not widely used in higher-maturity
organizations; fewer than 10 percent
reported that they used designed experiments,
and only two respondents said they
used quasi-experimental designs [6].
There is evidence, however, that
experimental methods may be used more
commonly than you might think. For example, in
a recent study of practitioners and users
of software measurement, almost 40 percent
said their organizations commonly
employ experiments and/or pilot studies
prior to the widespread deployment of
major additions or changes to development
processes and technologies.
Undoubtedly, not all of them follow rigorous
methodological standards.
However, the results are encouraging
because the study sample was structured
to include representatives from organizations
that have had varying success with
their software measurement efforts; there
were failures as well as successes [9].
One occasionally sees more sophisticated
uses of curve fitting, for example,
using Rayleigh curve-based models10. Six
Sigma approaches also are gaining
increased interest in the process improvement
community [10, 11]. However, widespread
use remains uncommon [6].
Indeed, there still is minimal use of multivariate
methods, classical or otherwise.
Even basic statistical methods such as
regression analysis or analysis of variance
are reportedly used by relatively few high
maturity organizations [6, 9].
Available Guidance
With the exception of SPC, capability
maturity model integration models do not
offer a great deal of guidance on using
data analytic methods. Indeed, even
ISO/IEC 15939 [12] focuses more on
measurement fundamentals as opposed to
detailed guidance about analysis. With the
notable exception of the Practical
Software and Systems Measurement
Support Center's work and their Practical
Software Measurement Insight tool11, the
same is true for all of the best-known
frameworks, models, and standards in the
process improvement community. Yet any
raw data must be analyzed and interpreted
with care.
The early emphasis is on presentation
graphics in most software measurement
programs, probably because visual displays
often appear to be intuitive. But they
also are often misused and misinterpreted
[13, 14]. The challenge to the measurement
community is to balance rigor and
methodological defensibility with clarity
and practical import. There is often a very
real culture clash between measurement
experts who are trained to attend to excruciatingly
obtuse detail and practitioners
who need actionable guidance.
Classic tools for process improvement
in the manufacturing world date back at
least to Deming [15] and Juran [16].
Techniques such as Pareto charts, run
charts, histograms, pie charts, scatter diagrams,
bar graphs, and control charts are
first principles for any good manager or
practitioner in most engineering disciplines.
These are not advanced topics by
any means, although their proper application
and interpretation do take training
and experience. Indeed, control charts are
often posted on the walls for easy reference
in many enterprises, but not often in
software organizations, which is something
of an anomaly. The software
process improvement community often
seems to have forgotten its heritage in
total quality management and industrial
engineering.
Detailed, prescriptive, how-to guidance
is outside the province of capability
maturity model integration models. But
other sources of guidance do, of course,
exist. Many other books and articles exist
in the published literature on both applied
statistics and software measurement12.
And many courses for measurement practitioners
also are available.
Summary and Conclusions
A successful process for measurement
and analysis is characterized by decision
making that regularly includes data analyses
results that are based on objective
measurement. Following such a process
can help projects and organizations make
significant performance improvements in
their other software processes and in the
products and services that those processes
help bring about. Moreover, relying on
a well-defined measurement process can
demonstrate evidence of business value,
thus helping justify continued investment
in process improvement and the measurement
and analysis activities that support it.
The sophisticated use of measurement
and analysis that characterizes high-maturity
organizations has been shown to
result in substantial added value [17].
Organizations that have attained high-maturity
status regularly report notable
improvements in measured customer satisfaction
as well as better schedule and
budget predictability. These businesses
also commonly provide evidence of
increased staff productivity, as measured,
for example, by reductions in development
effort per line of code or function
point. Also they demonstrate heightened
product quality with earlier defect detection
profiles and marked decreases in
defect density during testing.
Measurement is a key enabler for
process improvement and enhanced product
quality. An organization with a mature
approach to measurement and analysis
will have confidence in its abilities to
effectively deliver products that meet its
customer's needs. Measurement must
begin early if it is to reach its full potential,
and measurement capability must
grow over time. It is difficult for us to
conceive of serious software engineering
or accomplished management without
measurement. The time has come for
software and systems development to
move toward using the same degree of
sophistication in measurement that other
engineering disciplines have used for
many decades.
Acknowledgements
We owe a great depth of gratitude to
many people too numerous to mention
here, but special thanks are due to David
Card, Jim Curfman, Khaled El-Emam,
Wolf Goethert, Will Hayes, Lauren Heinz,
David Herron, Seshadri Iyer, Cheryl
Jones, Jim McCurley, Jack McGarry, Mark
Paulk, Jerome Pesant, Kevin Richins, Janet
Russac, Sandy Shrum, Guy Taylor, David
White, and Dave Zubrow.
References
- Gansler, J. S. "Software Evaluations
for ACAT I Programs." The Under
Secretary of Defense Memorandum.
26 Oct. 1999.
- McGarry, J., D. Card, C. Jones, B.
Layman, E. Bailey, J. Dean, and F. Hall.
Practical Software Measurement:
Objective Information for Decision
Makers. Boston, MA: Addison-Wesley,
2001.
- Paulk, M. C., C. A. Weber, B. Curtis,
and M. B. Chrissis. The Capability
Maturity Model: Guidelines for Improving
the Software Process. Reading,
MA: Addison-Wesley, 1995.
- CMMI Product Team. Capability
Maturity Model Integration (CMMI®)
Version 1.1 Continuous Representation.
Pittsburgh, PA: Carnegie Mellon
University, Mar. 2002.
- Zubrow, D. "The Measurement and
Analysis Process Area in CMMI."
ASQ Software Quality Newsletter
2001.
- Paulk, M., D. Goldenson, D. White,
and M. Zuccher. Unpublished data
from a study of high maturity organizations,
2002.
- Wohlin, C. et al. Experimentation in
Software Engineering: An Introduction.
Boston, MA: Kluwer Academic
Publishers, 2000.
- Goldenson, D., and R. Stoddard. "The Use of Designed Experiments in Software Engineering."
Empirical Studies of Programmers: Sixth Workshop.
Eds. W. Gray and D. Boehm. Norwood, NJ: Ablex Publishing Corporation, 1996.
- Goldenson, D., and K. El-Emam.
"What Should You Measure First?
Lessons Learned from the Software
CMM." Software Engineering
Symposium, Washington, D.C., Sept.
2001.
- Card, D., "Sorting out Six Sigma and
the CMM." IEEE Software May/June
2000.
- Siviy, J. "Six Sigma: An Overview."
Pittsburgh, PA: Software Engineering
Institute, 1 May 2001
www.sei.cmu.edu/str/descriptions/sigma6.html.
- ISO/IEC 15939:2002. "Software
Engineering - Software Measurement
Process." 11 July 2002
www.iso.org.
- Tufte, E. The Visual Display of
Quantitative Information. Cheshire,
CT: Graphics Press, 1983.
- Goethert, W., D. Goldenson, and W.
Hayes. "Scatter, Line, Pie, and Bar:
Using Charts to Make a Point."
Software Engineering Symposium,
Pittsburgh, PA, Sept. 1998.
- Deming, W. E. Out of the Crisis.
Cambridge, MA: MIT Center for
Advanced Engineering Study, 1986.
- Juran, J. M. Juran on Planning for
Quality. New York, NY: MacMillan,
1988.
- El-Emam, K., and D. Goldenson. "An
Empirical Review of Software Process
Assessments." Advances in Computers.
Ed. M. Zelkowitz. San Diego, CA:
Academic Press, 2000.
Notes
- This text is an abridgment and extension
of material that previously
appeared in the following: International
Function Point Users Group.
IT Measurement: Practical Advice
from the Experts. Eds. D. Herron, J.
Russac, D. Coley, J. Curfman, B.
Emmons, and J. Schofield. New York:
Addison-Wesley, 17 Apr. 2002: 577-
604.
- We called it the "Measurement Mafia"
when we were creating the Measurement
and Analysis Process Area for
CMMI.
- See, for example, Emmons, B., and C.
Dekkers. "Function Point (FP)
Maturity Model: How FP Supports the
Capability Maturity Integration
(CMMI) Model." CrossTalk Feb.
2002.
- The data flow arrows in the figure are
modified from the original.
- This figure is based on a similar one in
the CMMI Training Materials, which
are not publicly available.
- The higher capability level generic
practices are not included in the staged
version of the V1.02 CMMI models.
- In fact, measurement experts routinely
subject their own work to empirical
evaluation.
- For an introduction to Pareto analysis,
see Florac, W., and A. Carleton.
Measuring the Software Process:
Statistical Process Control for
Software Process Improvement.
Reading, MA: Addison-Wesley, 1999:
62-64
- Ibid. This is a good source for a useful
treatment of SPC in software
process improvement.
- A Rayleigh curve yields a good
approximation to the actual labor
curves on software projects.
- The PSM treatment of data analysis
focuses on graphical presentations.
Their examples range from the very
simple to sometimes quite sophisticated
uses of multivariate graphical indicators.
See McGarry, J., D. Card, C.
Jones, B. Layman, E. Bailey, J. Dean,
and F. Hall. Practical Software and
Systems Measurement: A Foundation
for Objective Project Management.
V4.0b. Department of Defense and
U.S. Army, Oct. 2000, particularly part
4, chapter 3.
- A few good places to start include Van
Solingen, R., and E. Berghout. The
Goal/Question/Metric Method. New
York: McGraw-Hill, 1999; Fenton, N.
E., and S. L. Pfleeger. Software
Metrics: A Rigorous and Practical
Approach. 2nd ed. Boston, MA: PWS
Publishing Company, 1999; and
Florac, W., and A. Carleton. Measuring
the Software Process: Statistical
Process Control for Software Process
Improvement. Reading, MA: Addison-
Wesley, 1999; as well as the work by
Tufte [13], Wohlin [7], and Card [10]
cited earlier. Journal articles with
examples of data analytic methods
worth emulating often can be found in
Empirical Software Engineering: An
International Journal ["International
Symposium on Empirical Software
Engineering." IEEE Computer
Society Staff, 2002].
About the Authors
 Dennis R. Goldenson is a senior member of
the technical staff in
the Software Engineering
Measurement and
Analysis group at the
Software Engineering Institute. His
work focuses on using measurement
and analysis in software engineering,
the improvement of process appraisal
methods and models, and the impact
and transition of software process
improvement and other software engineering
practices. He is a principal
author of the "Measurement and
Analysis Process Area for CMMI" and
served as co-lead of test and evaluation
for the project.
Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213-3890
Phone: (412) 268-8506
Fax: (412) 268-5758
E-mail: dg@sei.cmu.edu
 Joe Jarzombek is
director of Software
Intensive Systems in
the Office of the
Under Secretary of
Defense (Acquisition,
Technology and Logistics). He serves
there on loan from the Institute for
Defense Analyses in Alexandria, Va. A
project management professional, certified
by the Project Management
Institute, he previously served as vice
president of Product and Process
Engineering, for the USERTRUST
Network, a Public Key Infrastructure
that provides security and legal protections
for Internet transactions. Prior to
his retirement from the military,
Jarzombek was a lieutenant colonel in
the U.S. Air Force, he was manager of
the Air Force's Computer Resources
Support Improvement Program
Office, and he was sponsor of
CrossTalk, The Journal of Defense
Software Engineering. He also is a principal
author of the "Measurement and
Analysis Process Area for CMMI."
 Terry Rout is a senior
lecturer in the School
of Computing and
Information Technology
at Griffith University,
Queensland, Australia,
and is associated with the
Software Quality Institute there. He
lectures in the areas of software engineering,
software quality, and project
management. Rout is chairman of the
Australian Committee for Software
Engineering Standards, and has been a
member of the Australian delegation
to the International Committee on
Software Engineering Standards since
1992. He is the project editor for
ISO/IEC TR 15504-Software Process
Assessment. Rout also is a member of
the newly established Capability
Maturity Model Integration (CMMI®)
Expert Group, which advises the
Software Engineering Institute on
issues related to the CMMI adoption
and interpretive guidance.
|