Title: An Introduction to the Capability Maturity Model for Software SWCMM
1An Introduction to the Capability Maturity Model
for Software (SW-CMM) Census Bureau Mark C.
Paulk April 29, 2003 ? Capability Maturity
Model, Capability Maturity Model Integration,
CMMI, and CMM are registered in the U.S. Patent
and Trademark Office.
2Topics
- Introduction
- Process Management Principles
- The Capability Maturity Model for Software
- Using the CMM
- Conclusion and Discussion
3Is There a Software Crisis?
- From the Standish Groups 1995 CHAOS study
- 31 of projects canceled before completion
- 53 of projects cost 189 of original estimates
- spend 81 billion for canceled software projects
- only 16 of software projects completed on-time
and on-budget
- Is the crisis self-generated? Is change
needed?
- Quote from a CIO, Id rather have it wrong than
have it late. We can always fix it later.
4Topics
- Introduction
- Process Management Principles
- The Capability Maturity Model for Software
- Using the CMM
- Conclusion and Discussion
5Defining Software Process
- Process - a sequence of steps performed for a
given purpose (IEEE)
- Software process - a set of activities, methods,
practices, and transformations that people use to
develop and maintain software and the associated
products (CMM)
6Process Management Premise
- The quality of a (software) system is largely
governed by the quality of the process used to
develop and maintain it.
- This premise implies focus on process as well as
product.
- The value of this premise is visible world-wide
in the Total Quality Management movements in the
manufacturing and service industries.
7Applying TQM to Software
TQM
Organization
Projects
C
A
B
System
Hardware Software
CMM
- Process improvement fits in an overall business
context CMM applies to software.
8Process Management and the Known
- Management must deal with both the known and the
unknown.
- Process management focuses on the known, on
controlling repeatable (if not repetitive)
processes.
- mechanisms for managing the known include quality
assurance, configuration management, peer
reviews, etc.
- Risk management focuses on the unknown.
- mechanisms for managing the unknown include
evolutionary and incremental life cycles, on-site
customers, prototyping, etc.
9Topics
- Introduction
- Process Management Principles
- The Capability Maturity Model for Software
- Using the Software CMM
- Conclusion and Discussion
10What Is the Software CMM?
- A common-sense application of the concepts of
Total Quality Management to software projects
- A model for transforming organizations
- A community-developed guide with descriptions of
good engineering and management practices for
software
- A prescription for changing organizational
behavior and capability in five levels
- The basis for reliable and consistent CMM-based
appraisals
11Software CMM v1.1
Level
Focus
Key Process Areas (KPAs)
Continuous
Defect Prevention Technology Change Management P
rocess Change Management
Quality Productivity
process
Optimizing
5
improvement
Quantitative Process Management
Software Quality Management
Product and
process quality
Engineering
Organization Process Focus Organization Process D
efinition Training Program Integrated Software M
anagement Software Product Engineering Intergrou
p Coordination Peer Reviews
Defined
processes and
organizational
support
Project
Requirements Management Software Project Planning
Software Project Tracking Oversight Software
Subcontract Management Software Quality Assurance
Software Configuration Management
management
processes
Risk Waste
Competent people (and heroics)
Initial
12Goals of the Key Process Areas
- Summarize the key practices of the key process
areas
- Are considered important for enhancing process
capability for that level of maturity
- Can be used to guide organizations and appraisal
teams in assessing alternative ways to implement
key process areas
- Each key practice maps to one or more goals
13Required, Expected, and Informative
- The rating components of the Software CMM are the
maturity levels (5), key process areas (18), and
goals (52).
- You must satisfy all the goals for a key process
area to satisfy the KPA.
- Key practices, subpractices, examples are
informative material to guide professional
judgment.
- Key practices are expected, but not required!
14Importance of Institutionalization
- The organizational culture conveys the
process.
- The Software CMM has four common features that
focus on institutionalizing the process.
- commitment to perform
- ability to perform
- measurement and analysis
- verifying implementation
- Activities performed focus on implementing the
process.
15Evolution of Process Capability
Level
Process Characteristics
Predicted Performance
Optimizing
5
Time//...
Managed
4
Time//...
Defined
3
Time//...
Repeatable
2
Time//...
Initial
Time//...
16Understanding the InitialMaturity Level
- Performance driven by the competence and heroics
of the people doing the work
- Consistency and compliance to standards driven by
management priorities usually schedule is the
top priority
- High quality and exceptional performance possible
so long as the best people can be hired
- Unpredictability for good or ill
characterizes the initial level organization
17Understanding the RepeatableMaturity Level
- Management must walk the talk to initiate an
improvement effort.
- Management discipline is necessary to retain good
software engineering practices in the crunch.
- Management processes establish role models for
process improvement.
- Management and process discipline empowers
the engineering processes and the technical staff.
18The Repeatable Level KPAs
19Understanding the DefinedMaturity Level
- Standard processes defined, documented, and
deployed across the organization.
- Shared understanding established of how the
process works and each persons role.
- Software engineering process group (SEPG) focuses
on process management and improvement.
20The Defined Level KPAs
21Understanding the ManagedMaturity Level
- Applying the principles of statistical process
control, address special causes of process
variation
Management is able to predict performance within
quantified bounds targets are predictable.
22The Managed Level KPAs
23Understanding the OptimizingMaturity Level
- Continuous process improvement means controlled
change
- Identify and eliminate chronic causes of poor
performance
24The Optimizing Level KPAs
25Topics
- Introduction
- Process Management Principles
- The Capability Maturity Model for Software
- Using the Software CMM
- Conclusion and Discussion
26Assessment Versus Evaluation
Evaluation source selection substantiate pra
ctice evaluate commitment performance risk
CMM findings only audit-oriented predict n
ext project known to DoD
Issue Use Objective Improvement goal O
utput Range of findings Style Focus of re
sults
Status of results
Assessment process improvement assess curren
t practice catalyst for improvement input fo
r action plan non-CMM findings possible coll
aborative applies to organization confidenti
al
27Using Professional Judgment
- Software CMM is intended for a wide range of
situations.
- key practices and goals allow for flexibility
- Key indicates a focus on the major leverage
points
- key process areas
- key practices
- The Software CMM is not exhaustive.
- There are software management and engineering
processes and practices that are not described in
the CMM.
28Let Common Sense Prevail!
Disciplined Process
Yes
No
Creative Chaos
Quality
Yes
Common Sense
Mindless Chaos
Mindless Bureaucracy
No
With thanks to Sanjiv Ahuja, former President and
COO of Telcordia Technologies.
29Topics
- Introduction
- Process Management Principles
- The Capability Maturity Model for Software
- Using the Software CMM
- Conclusion and Discussion
30Releases of the Software CMM
Capability Maturity Model Guidelines for
Improving the Software Process (v1.1)
Addison-Wesley Book Form
Key Practices of the Capability Maturity Model
for Software v1.1 Paulk et al., CMU/SEI-93-TR-2
5
Characterizing the Software Process A
Maturity Framework Watts Humphrey, IEEE Softw
are
Key Practices of the Capability Maturity Model
for Software v1.0 Weber, et al., CMU/SEI-91-TR-
25
Managing the Software Process Watts Humphrey
1987 1989 1991
1993 1995 1998
31Software CMM v2 Release Halted
- Software CMM v2.0 was scheduled for release at
the end of 1997.
- SEIs sponsor, the Office of the Under Secretary
of Defense for Acquisition and Technology,
directed that the Software CMM Version 2 release
be halted in favor of work on CMM Integration. - One of the source documents for CMMI is Software
CMM v2C.
32Capability Maturity Model Integration (CMMI)
- Sponsored by the DOD and the National Defense
Industrial Association (NDIA)
- Collaborative endeavor
- Industry
- Government
- Software Engineering Institute (SEI)
- Over 100 people involved
33CMMI Source Models
- Capability Maturity Model for Software V2, draft
C (SW-CMM V2C)
- EIA Interim Standard 731, System Engineering
Capability Model (SECM)
- Integrated Product Development Capability
Maturity Model, draft V0.98 (IPD-CMM)
34CMMI Benefits
- Efficient, effective assessment and improvement
across multiple process disciplines in an
organization
- Reduced training and assessment costs
- A common, integrated vision of improvement for
all elements of an organization
- A means of representing new discipline-specific
information in a standard, proven process
improvement context
35Questions and Answers