CMM Tutorial
CMM Tutorial
Process Improvement Is
Continuous Improvement
We can never reach perfection.
142
Carnegie Mellon University
141
Carnegie Mellon University
Software
Engineering Comments and Updated
Process change requests CMM
Groups products
submits
Assessment reviews produces
& capability Pilot
evaluation tests
users participates SEI Software
conducts Process Program
140
Carnegie Mellon University
139
Carnegie Mellon University
138
Carnegie Mellon University
137
Carnegie Mellon University
136
Carnegie Mellon University
135
Carnegie Mellon University
134
Carnegie Mellon University
133
Carnegie Mellon University
132
Carnegie Mellon University
131
Carnegie Mellon University
Topics
Introduction
130
Carnegie Mellon University
129
Carnegie Mellon University
P
R
O
D
U
C
T
I
V
I
T
Y
128
Carnegie Mellon University
Process Improvement Is a
Lifestyle Change
Silver Bullet = Diet
127
Carnegie Mellon University
126
Carnegie Mellon University
Goals of PCM
1. Continuous process improvement is
planned.
125
Carnegie Mellon University
Involves:
• defining process improvement goals
• systematically identifying, evaluating, and
implementing improvements to the
organization's standard software process
and the projects' defined software
processes
124
Carnegie Mellon University
Institutionalization
Technology
Transition Adoption
Installation
Pilot Test
Commitment
Information Understanding
Transition Awareness
Contact
123
Carnegie Mellon University
Goals of TCM
1. Incorporation of technology changes is
planned.
122
Carnegie Mellon University
Involves:
• identifying, selecting, and evaluating new
technologies
• incorporating effective technologies into
the organization
121
Carnegie Mellon University
Important Concepts in DP
Kickoff meetings confirm a common
understanding of the processes to be followed.
120
Carnegie Mellon University
Goals of DP
1. Defect prevention activities are planned.
119
Carnegie Mellon University
Involves:
• analyzing defects that were encountered in
the past
• taking specific actions to prevent the
occurrence of these types of defects in the
future
118
Carnegie Mellon University
Optimizing (5)
117
Carnegie Mellon University
In Out
116
Carnegie Mellon University
Original zone of
quality control
Chronic waste
New zone of
quality control
Quality
Improvement
Goals of SQM
1. The project's software quality management
activities are planned.
114
Carnegie Mellon University
Involves:
• defining quality goals for the software
products
• establishing plans to achieve these goals
• monitoring and adjusting software plans,
software work products, activities, and
quality goals to satisfy the needs and desires
of customer and end-user
113
Carnegie Mellon University
Sporadic
spike
New zone of
quality control
Chronic waste
Quality
Improvement
Time
Lessons learned
111
Carnegie Mellon University
110
Carnegie Mellon University
Goals of QPM
109
Carnegie Mellon University
Involves:
• establishing goals for process performance
• measuring the performance of the project
• analyzing these measurements
• making adjustments to maintain process
performance within acceptable limits
108
Carnegie Mellon University
Managed (4)
Software quality management
Quantitative process management
107
Carnegie Mellon University
In Out
106
Carnegie Mellon University
105
Carnegie Mellon University
Topics
Introduction
104
Carnegie Mellon University
Implementations of PR
Possible alternative ways of implementing
peer reviews include:
• Fagan-style inspections
• structured walkthroughs
• active reviews
103
Carnegie Mellon University
Goals of PR
1. Peer review activities are planned.
102
Carnegie Mellon University
101
Carnegie Mellon University
Important Concepts in IC
Intergroup Coordination deals with the
interface to groups beyond the software
engineering group and possibly beyond the
control of the organization doing software
process improvement.
Goals of IC
1. The customer's requirements are agreed
to by all affected groups.
99
Carnegie Mellon University
98
Carnegie Mellon University
97
Carnegie Mellon University
Goals of SPE
96
Carnegie Mellon University
95
Carnegie Mellon University
Goals of ISM
1. The project's defined software process is
a tailored version of the organization's
standard software process.
94
Carnegie Mellon University
Involves:
• developing the project's defined software
process by tailoring the organization's
standard software process
• managing the software project according to
this defined software process
93
Carnegie Mellon University
Important Concepts in TP
Training may include informal as well as
formal vehicles for transferring skills and
knowledge.
92
Carnegie Mellon University
Goals of TP
1. Training activities are planned.
91
Carnegie Mellon University
Involves:
• identifying the training needs of the
organization, the projects, and
individuals
• developing and/or procuring training to
address these needs
90
Carnegie Mellon University
89
Carnegie Mellon University
88
Carnegie Mellon University
Tailoring Guidelines
Established to guide the software projects in:
• selecting a software life cycle from those
approved for use
• tailoring and elaborating the organization's
standard software process and the
selected software life cycle to fit the
specific characteristics of the project
87
Carnegie Mellon University
86
Carnegie Mellon University
Organization's Standard
Software Process
The operational definition of the basic process
that guides the establishment of a common
software process across the software projects
in the organization
85
Carnegie Mellon University
84
Carnegie Mellon University
Goals of OPD
1. A standard software process for the
organization is developed and maintained.
83
Carnegie Mellon University
82
Carnegie Mellon University
81
Carnegie Mellon University
Goals of OPF
1. Software process development and
improvement activities are coordinated
across the organization.
80
Carnegie Mellon University
Involves:
• developing and maintaining an
understanding of organization and
project software processes
• coordinating the activities to assess,
develop, maintain, and improve these
processes
79
Carnegie Mellon University
78
Carnegie Mellon University
In Out
77
Carnegie Mellon University
76
Carnegie Mellon University
Topics
Introduction
75
Carnegie Mellon University
74
Carnegie Mellon University
DEVELOPMENTAL CONFIGURATION
MANAGEMENT – control of the configuration
exercised by the developers as they perform
their work
73
Carnegie Mellon University
Goals of SCM
1. Software configuration management
activities are planned.
72
Carnegie Mellon University
Software Configuration
Management (CM, SCM)
Purpose is to establish and maintain the
integrity of the products of the software
project throughout the software life cycle
Involves:
• identifying configuration items/units
• systematically controlling changes
• maintaining integrity and traceability of
the configuration throughout the
software life cycle
71
Carnegie Mellon University
70
Carnegie Mellon University
Goals of SQA
1. Software quality assurance activities are
planned.
Involves:
• reviewing and auditing the software
products and activities to ensure that they
comply with the applicable procedures
and standards
• providing the software project and other
appropriate managers with the results of
those reviews and audits
68
Carnegie Mellon University
Important Concepts in SM
PRIME CONTRACTOR – the organization
responsible for building a system, that
contracts out part of the work to another
contractor, the SUBCONTRACTOR
67
Carnegie Mellon University
Goals of SM
1. The prime contractor selects qualified
software subcontractors.
Software Subcontract
Management (SM)
Purpose is to select qualified software
subcontractors and manage them effectively
Involves:
• selecting a software subcontractor
• establishing commitments with the
subcontractor
• tracking and reviewing the
subcontractor's performance and results
65
Carnegie Mellon University
Goals of PTO
1. Actual results and performances are tracked
against the software plans.
64
Carnegie Mellon University
Involves:
• tracking and reviewing software
accomplishments and results against
documented estimates, commitments,
and plans
• adjusting plans based on actual
accomplishments and results
63
Carnegie Mellon University
Software Plans
SOFTWARE PLANS – the collection of plans,
both formal and informal, used to express
how software development and/or
maintenance activities will be performed.
Making Commitments
COMMITMENT – a pact that is freely assumed,
visible, and expected to be kept by all parties
61
Carnegie Mellon University
Process in Planning
PROCESS – a sequence of steps performed for
a given purpose; a set of activities that achieve
a desired result
60
Carnegie Mellon University
Goals of SPP
1. Software estimates are documented for use
in planning and tracking the software
project.
59
Carnegie Mellon University
Involves:
• developing estimates for the work to be
performed
• establishing the necessary commitments
• defining the plan to perform the work
58
Carnegie Mellon University
Important Concepts in RM
CUSTOMER – may be external or internal
Goals of RM
56
Carnegie Mellon University
55
Carnegie Mellon University
Repeatable (2)
Software configuration management
Software quality assurance
Software subcontract management
Software project tracking and oversight
Software project planning
Requirements management
54
Carnegie Mellon University
In Out
53
Carnegie Mellon University
In Out
Requirements flow in.
50
Carnegie Mellon University
49
Carnegie Mellon University
48
Carnegie Mellon University
Topics
Introduction
47
Carnegie Mellon University
A Well-Defined Process
A well-defined process can be characterized
in terms of:
• readiness criteria
• inputs
• standards and procedures for performing
the work
• verification mechanisms (e.g., peer
reviews)
• outputs
• completion criteria
46
Carnegie Mellon University
A Reasonable Process
A reasonable software process is:
• practiced
• documented
• enforced
• trained
• measured
• able to improve
45
Carnegie Mellon University
43
Carnegie Mellon University
Key Practices
The infrastructures and activities that
contribute most to the effective
implementation and institutionalization of a
key process area
42
Carnegie Mellon University
Verifying Implementation
Describes the steps to ensure that the
activities are performed in compliance with
the process that has been established
41
Carnegie Mellon University
40
Carnegie Mellon University
Activities Performed
Describes the roles and procedures
necessary to implement a key process area
39
Carnegie Mellon University
Ability to Perform
Describes the preconditions that must exist in
the project or organization to implement the
software process competently
38
Carnegie Mellon University
Commitment to Perform
Describes the actions the organization must
take to ensure that the process is established
and will endure
37
Carnegie Mellon University
36
Carnegie Mellon University
Common Features
Attributes that indicate whether the
implementation and institutionalization of a
key process area is effective, repeatable, and
lasting
35
Carnegie Mellon University
An Example of Goals:
Software Project Planning
1. Software estimates are documented for
use in planning and tracking the software
project.
34
Carnegie Mellon University
Organization Responsibilities
The organization will have primary
responsibility for acting on:
• Software Quality Assurance
• Organization Process Focus
• Organization Process Definition
• Training Program
• Technology Change Management
• Process Change Management
33
Carnegie Mellon University
Project Responsibilities
The project will have primary responsibility
for acting on:
• Requirements Management
• Software Project Planning
• Software Project Tracking and Oversight
• Software Subcontractor Management
• Software Configuration Management
• Integrated Software Management
• Software Product Engineering
• Intergroup Coordination
• Peer Reviews
• Quantitative Process Management
• Software Quality Management
• Defect Prevention
32
Carnegie Mellon University
31
Carnegie Mellon University
30
Carnegie Mellon University
Managed (4)
Software quality management
Quantitative process management
29
Carnegie Mellon University
28
Carnegie Mellon University
27
Carnegie Mellon University
26
Carnegie Mellon University
Predictable Managed
process (4)
Standard, Defined
consistent (3)
process
Repeatable
Disciplined (2)
process
Initial
(1)
25
Carnegie Mellon University
Maturity Levels
24
Carnegie Mellon University
indicate
contain
Process
Capability
Key Process Areas
achieve
organized by
Goals
Common
Features
address
contain
Implementation or
Institutionalization
Key
Practices
describe
Infrastructure or
Activities
23
Carnegie Mellon University
22
Carnegie Mellon University
21
Carnegie Mellon University
20
Carnegie Mellon University
CMM Definition
A description of the stages through which
software organizations evolve as they define,
implement, measure, control, and improve
their software processes
19
Carnegie Mellon University
18
Carnegie Mellon University
Defined (3)
Process characterized,
fairly well understood
Repeatable (2)
Can repeat previously
mastered tasks
Initial (1)
Unpredictable and
poorly controlled
17
Carnegie Mellon University
Experience
• 30 years of similar software problems
• commonly known software problems
• solutions exist
16
Carnegie Mellon University
Software CMM
14
Carnegie Mellon University
13
Carnegie Mellon University
12
Carnegie Mellon University
11
Carnegie Mellon University
A Definition of Process
The means by which people, procedures,
methods, equipment, and tools are integrated to
produce a desired end result.
B
A D
C Procedures and methods
defining the relationship
of tasks
PROCESS
People Tools and
with skills, equipment
training, and
motivation
10
Carnegie Mellon University
Topics
Introduction
9
Carnegie Mellon University
Internet Address
customer-relations@sei.cmu.edu
Mailing Address
Customer Relations
Software Engineering Institute
Carnegie Mellon University
Pittsburgh, PA 15213-3890
8
Carnegie Mellon University
7
Carnegie Mellon University
Established in 1984
6
Carnegie Mellon University
Topics
Introduction
5
Carnegie Mellon University
The Agenda - 2
Understanding the Defined Level 90 mins
Break
4
Carnegie Mellon University
The Agenda - 1
Introduction 15 mins
Break
Lunch
3
Carnegie Mellon University
Setting Expectations
This tutorial provides
• an overview of the Capability Maturity
Model (CMM) for managers and technical
staff
• an awareness of the concepts of the CMM
2
Carnegie Mellon University
The Capability
Maturity Model:
A Tutorial
April 1993