Introduction to CMM
Lecture #10A
1
CMM Structure
Software StateoftheArt in 1984
1
• More than half of the large software
systems were late in excess of 12 months
• The average costs of large software systems
was more than twice the initial budget
• The cancellation rate of large software
systems exceeded 35%
• The quality and reliability levels of
delivered software of all sizes was poor
3
Software StateoftheArt in 1984
2
• Software personnel were increasing by
more than 10% per year
• Software was the largest known business
expense which could not be managed
4
Software Engineering Institute
• A research facility, located in University of
Carnegie Mellon, Pennsylvania
• Primarily funded by US DoD to explore
software issues, and especially topics
associated with defense contracts
• US DoD is the largest producer and
consumer of software in the world
5
Software Engineering Institute
• SEI developed a Capability Maturity Model
(CMM) for software systems and an
assessment mechanism
6
Five Levels of Software Process
Maturity
7
The Five Levels of Software Process
Maturity
Continuously
Improving
Process
Predictable
Process
Standard,
Consistent
Process
Disciplined
Process
4. Managed
Process measured
and controlled
3. Defined
Process characterized,
fairly well understood
2. Repeatable
Integrated
Can repeat previously
Engineering
mastered tasks
Process
1. Initial
Unpredictable and
poorly controlled
Project
Management
5.Optimizing
Focus on process
improvement
Managing
Change
Product and
Process Quality
C
MM
Maturity Levels
Maturity Levels
Indicate
• Well defined evolutionary
plateau, a layer in the
foundation for subsequent
process improvement activities
Process Capability
• Range of results expected from
following a software process
C
MM
Maturity Levels
• Well defined evolutionary plateau, a layer in the
foundation for subsequent process improvement activities
– Each level is a layer in the foundation for continuous process
improvement
– There are five maturity levels in the CMM
– Achieving each level establishes a different component in the
software process
– Maturity levels are described in terms of 18 key process areas
C
MM
Key Process Areas
Maturity Levels
Indicate
Process Capability
Contain
Key Process Areas
Achieve
Goals
• Major building blocks in establishing the
process capability of an organization; thus
focus areas for process improvement
The CMM Key Process Areas
• Identify a cluster of related activities that, when
performed collectively, achieve a set of goals considered
important for enhancing process capability
– Defined to reside at a single maturity level
– Identify the issues that must be addressed to achieve a maturity
level
– 18 KPAs in the CMM
Key Process Areas for CMM
13
Levels/
Process
Categories
Management
Technology Change
Management
Process Change
Management
5 Optimizing
4 Managed
Quantitative Software
Management
3 Defined
Integrated Software
Management
Intergroup
Coordination
2 Repeatable
Requirements
Management
Software Project
Planning
Software Project
Tracking and
Oversight
Software Subcontract
Management
Software Quality
Assurance
Software
Configuration
Management
1 Initial
Organizational
Engineering
Defect Prevention
Software Quality
Management
Organization
Process Focus
Organization
Process Definition
Training Program
Ad Hoc Processes
Software Product
Engineering
Peer Reviews
C
MM
Maturity Levels
Key Process Area Goals
Indicate
Process Capability
Contain
Key Process Areas
Achieve
Goals
• Process objectives that, when
achieved, enhance process
capability
C
MM
Key Process Area Goals
• Goals summarize the key practices of the key process
areas.
– They are considered important for enhancing process capability
for that level of maturity
– They 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
Common Features
17
C
MM
Common Features
Maturity Levels
Indicate
Process Capability
Contain
Key Process Areas
Achieve
Organized by
Common Features
Address
Goals
Implementation /
Institutionalization
C
MM
Common Features
• Used to organize the key practices in each key process
area
• Attribute that ensure the processes are defined,
documented and understood
• Common features are
–
–
–
–
–
Commitment to perform
ability to perform
activities performed
measurement and analysis
verifying implementation
C
MM
•
•
•
•
Institutionalization
The organization outlives those who leave it
The organizational culture must convey the process
Indicator of whether the KPA is effective, repeatable, and lasting
The 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
C
MM
Commitment to Perform
• Describes the actions the organization must take to
ensure that the process is established and will endure
• Typically includes
– Policies
– Leadership
C
MM
Ability to Perform
• Describes the preconditions that must exist in the project
or organization to implement the software process
competently
• Typically includes
–
–
–
–
–
function / tools
resources
delegation
training
orientation
C
MM
Activities Performed
• Describes the roles and procedures necessary to implement
a key process area
• Typically includes
–
–
–
–
establishing plans and procedures
performing the work
tracking it
taking corrective actions as necessary
C
MM
Measurement and Analysis
• Describes the need to measure the process and analyze the
measurements
• Typically includes
– examples of the measurements that could be taken to determine
the status and effectiveness of the activities performed common
feature
C
MM
Verifying Implementation
• Describes the steps to ensure that the activities are
performed in compliance with the process that has been
established
• Typically includes reviews and audits by
– Senior Management
– Project management
– SQA