Introduction to CMMI
Lecture # 13
1
1
Introduction to CMMI
• CMMI is an acronym for Capability
• Maturity Model Integration
• Some people would say the CMMI is a
model, while others would describe it as a
set of models
• But most will agree that the CMMI is a
merger of process improvement models for
systems engineering, software engineering,
2
hardware engineering, and integrated teams
Introduction to CMMI
• Some of the goals of the CMMI are to
provide a common vocabulary across the
set of models and to provide clarification on
how these areas interrelate
• The integrated model has both a continuous
and staged perspective
3
3
Introduction to CMMI
• Let’s discuss the differences between the
CMMI, a process model, a process, a
process description, a procedure, and an
appraisal
• Some people have a problem because they
think CMMI is a process or a set of
processes
• It is neither
4
4
What is CMMI?
• CMMI is a process model
• The CMMI cannot just be copied as is and
serve as an organization’s processes
• CMMI is a collection of best practices from
highly functioning organizations collected
to help you improve your processes by
describing what things or activities should
be done in your organization
5
5
What is a Process?
• A process is what you really do in your
organization
• The process is written down as the activities
or steps you go through to perform work
• Your organization’s processes must be
documented to be real, to be performed
consistently, and to be improved
6
6
What is a Process?
• If your organization has undocumented
processes and you believe that these
processes are used consistently then you are
living in a world of denial
• The CMMI recommends certain attributes
that are necessary when documenting
processes
7
7
What is a Process Description?
• A process description is a “documented
expression of a set of activities to achieve a
given purpose”
• The process description documents the
steps of the process performed, that is, what
you do when you perform a task
• Closely related are procedures that describe
the stepbystep instructions on how to
8
perform the steps in the process 8
What is an appraisal?
• An appraisal is a way to evaluate the
organization’s processes and procedures,
how they were implemented, to what extent
they are followed, and to what extent they
map to the CMMI practices
9
9
CMMI
• In the CMMI world, SCAMPI (Standard
CMMI Appraisal Method for Process
Improvement) is a set of appraisal methods
that differ in their intent and rigor
• The SCAMPI can be used for internal
process improvement, supplier selection,
process monitoring, and for maturity or
capability level ratings for contract awards
10
10
CMMI
• The CMMI is used as a guideline to create
processes and procedures
• CMMI is used as the reference model for
the SCAMPI appraisal method to examine
the organization’s processes and procedures
11
11
Relationship between Key Terms
12
12
Relationship between Key Terms
13
13
Short History of CMMI
14
14
Short History of CMMI
• People were successfully using the
Capability Maturity Model, which was
designed for improving software processes
and measuring the maturity of software
processes in an organization
• This success brought more and more
attention to modelbased process
improvement in other areas
15
15
What Models Do I Use?
• Historically: Depends on the discipline that
you want to model.
–
–
–
–
–
Software Engineering
Systems Engineering
Software Acquisition
Systems Security
etc.
16
16
What is CMM?
• Capability Maturity Model:
A reference model of mature practices in a
specified discipline, used to assess a group’s
capability to perform that discipline
• CMMs differ by
– Discipline (software, systems, acquisition, etc.)
– Structure (staged versus continuous)
– How Maturity is Defined (process improvement
path)
17
– How Capability is Defined (institutionalization)
17
Commonly Used CMMs
18
18
Commonly Used CMMs
Software CMM
staged
development
software
System Engineering CMM
continuous
engineering
system
System Engineering Capability Model
continuous
engineering
system
Software Acquisition CMM
staged
acquisition
software
System Security Engineering CMM
continuous
engineering
security
Personal Software Process
staged
individual
software development
FAAiCMM
continuous
software
engineering, systems
engineering, and acquisition
IPDCMM
19
hybrid
19
integrated
System and Software Divide
20
20
System and Software Divide
• Systems and software
Systems
disciplines have
traditionally not been well
integrated
• The importance of software
in systems has increased
dramatically
• There was need to make the
systems/software interface
more seamless
Software
21
21
So Many Models, So little Time
22
22
So Many Models, So Little Time
• Different structures,
formats, terms, ways of
measuring maturity
• Causes confusion,
especially when using
more than one model
• Hard to integrate them in a
combined improvement
program
• Hard to use multiple
models in supplier
selection
Software
CMM
EIA 731
Systems
Engr
CMM
IPD
CMM
Software
Acq
CMM
FAA
iCMM
23
ZZZ
CMM
People
CMM
Systems
Security
Engr CMM
23
CMMI Comes to Rescue
• Integrates systems and software disciplines
into one process improvement framework
• Provides a framework for introducing new
disciplines as needs arise
24
24
Bridging the Divide
25
25