You are on page 1of 33

CAPABILITY MATURITY MODEL

for Software (CMM)


Version 1.1
INTRODUCTION
Course Objectives

• Understand terms such as process, capability, and


maturity
• Discuss the 18 key process areas in the CMM
• Interpret the CMM and the key practices in the
different contexts
• Describe the fundamental concepts of the CMM
• Explain and use the structure of the CMM
What can go wrong in a
project?
• Bad requirements • Mismatched resource skill
• Frequent changes to levels
requirements • Miscommunication between
• Wrong interpretation of groups
requirements • No defined method for
• Inaccurate estimation implementing a project
• Inaccurate or bad planning • No checks and balances
• Risks which materialized • Inadequate testing
• Attrition • Incorrect source base and
• Bad implementation so on
• No reviews i.E., Inputs from
relevant people/ groups
Do we need processes?

Do we need processes? Such discipline may


stifle my creativity!

“Discipline enables creativity by FREEING the


most talented software professionals from the
many CRISES that others have created. A
disciplined process EMPOWERS the intellect...”
- Watts Humphrey
What Is CMM ?

 A common sense application of process management


and quality improvement concepts to software
development and maintenance

 A community-developed guide

 A model for organizational improvement


Other Capability Maturity
Models

Focus areas include :


 Software CMM
 People CMM
 CMMI - CMM integrated (new)
A Mature Process

 Consistent with the way work actually gets done -


defined, documented, and continuously improving
 Understood
 Used
 Living
 Supported visibly by management and others
 Well controlled
 Constructive use of product and process
measurements
 Disciplined use of technology
Institutionalized Process
“That is the way we do things around here”
 Organizational infrastructure contains
 Effective processes
 Usable processes
 Consistently applied processes
 Organizational culture
 Must convey the process
 Nurtured by management
 Is conveyed with role models and rewards
 Institutionalized processes ENDURES
( Even after people who originally defined them have gone)
What CMM Does not
address?
 The CMM does not address specific software
process and quality improvement issues
 Issues that are addressed only indirectly,
or by implication, include
 Specific tools, methods, and
technologies
 System engineering, marketing, etc
 Human resources
 Organizational behavior
Structure of CMM
CMM Maturity Level

Maturity level is
 Well-defined stages of evolution on the path
to becoming a mature software
organization
 Each level is a layer in the foundation for
continuous process improvement
 Achieving each level establishes a different
component of the software process
CMM Maturity Level
There are five maturity levels in CMM
Intent of the Initial Level
-Level 1

 Performance driven by the competence of


the people doing the work
 High quality and exceptional performance
possible so long as the best people can be
hired
 The process is unpredictable - for good or bad
 The major problems facing the software
organization are managerial, not technical
Intent of the Repeatable
Level - level 2

 The predominant need is to establish


effective software project management
 Software project management processes
are documented and followed
 Organizational policies guide the projects
in establishing management processes
 Successful practices developed on earlier
projects can be repeated
Intent of the Defined Level
- Level 3
 This level builds on the software project
management foundation
 To control a process, it must be defined,
documented, and understood
 The outputs of one task flow smoothly in
to the inputs of the next task
 At this level, the organization builds
processes that empower the individuals
doing the work
Intent of the Managed
level - Level 4
 Apply the principles of statistical process
control
 Address the special causes of process
variation
Intent Of The Optimizing
level - Level 5

 Identify and eliminate chronic causes of


poor performance
 Continuously improve the software process
Key Process Area (KPAs)
of Each Level

Maturity levels are described in terms of 18 key process areas (KPAs)


Level 2 KPAs

 Software configuration management (SCM)


 Software quality assurance (SQA)
 Software subcontract management (SSCM)
 Software project tracking and oversight (SPTO)
 Software project planning (SPP)
 Requirements management (RM)
Level 3 KPAs

 Organization process focus (OPF)


 Organization process definition (OPD)
 Peer reviews (PR)
 Intergroup coordination (IGC)
 Software product engineering (SPE)
 Integrated software management (ISM)
 Training program (TP)
Level 4 KPAs

 Software quality management (SQM)


 Quantitative process management (QPM)
Level 5 KPAs

 Process change management (PCM)


 Technology change management (TCM)
 Defect prevention (DP)
Maturity levels cannot be
skipped
• Processes at higher maturity levels may
be performed, although perhaps
ineffectively, even by the organizations at
the initial level

• Process capability is built in stages, as


some processes are ineffective when others
are not stable
Maturity levels

 Well-defined evolutionary plateaus on the


path to becoming a mature software
organization
 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 of the software process
 Maturity levels are described in terms of 18
key process areas
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 process maps to one or more
goals
Common features

• Used to organize the key practices in each


key process area
Common features are :
– Commitment to perform
– Ability to perform
– Activities performed
– Measurement and analysis
– Verifying implementation
Commitment to perform

• Describes the actions the organization must


take to ensure that the process is
established and will endure

• Typically include

– Policies
– Leadership
Ability to perform
• Describes the preconditions that must exist
in the project or organization to
implement the software process
competently
• Typically includes
– Function
– Resources
– Delegation
– Training
– Orientation
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
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
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
– Software quality assurance
Key Practices

• State the fundamental policies, procedures,


and activities for a key process area
• Describe “what” is to be done, but they
should not be interpreted as mandating
“how”
• Are organized by common feature
• 316 key practices in CMM
End of Introduction to CMM

You might also like