You are on page 1of 14

Capability Maturity Model for Software,

Version 1.1

Technical Report CMU/SEI-93-TR-024 ESC-TR-93-177


http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.024.html

Mark C. Paulk
Bill Curtis
Mary Beth Chrissis
Charles V. Weber

SW-CMM
Immature Versus Mature Organizations
• Software Process though • Software process is accurately
specified is not followed/enforced communicated to staff and work
activities are carried out
• Reactionary (Fire-Fighting) according to the planned process.

• Software processes are generally • Process improvements are


improvised by practitioners and
managers during the course of developed through controlled
the project. pilot-tests and/or benefit analysis

• Schedules and Budgets keep • Schedules and Budgets are


constantly changing based on historical performance.

• No objective basis for judging • There is an objective, quantitative


product quality or for solving basis for judging product quality
product or process problems and analyzing problems with the
product and process
SW-CMM 2
Software Process Concepts
• Software Process Capability
– Range of results expected
• Software Process Performance
– The extent to which results are achieved
• Software Process Maturity
– The extent to which the software process is explicitly
defined, managed, measured, controlled and effective
– Institutionalization
– Two methods to appraise software process maturity
• Software process assessment
• Software capability evaluation

SW-CMM 3
CMM Overview
• It is a software process maturity framework which
provides a roadmap for continuous process
improvement.

• Guides organizations in selecting process


improvement strategies
– by determining current process maturity and
– identifying the few issues most critical to the software
quality and process improvement.

SW-CMM 4
The Five Levels of Software Process Maturity

• A maturity level is a well-


defined evolutionary
plateau towards achieving
a mature process

• Each level has a set of


goals

• Achieving each level


– establishes a different
component in the software
process.
– Increase in the process
capability of the
organization.

SW-CMM 5
The Maturity Levels
• Level 1
– Ad Hoc processes, ineffective planning and reaction-driven systems
– Crisis – abandon planned procedures & revert to coding and testing
– Schedules, Budget, Functionality, Product Quality: Unpredictable
– Software Process Capability: Unpredictable
• Level 2
– Basic Software Management controls
– Planning/Managing new projects is based on successes with similar projects
– Realistic project commitments based on empirical knowledge
– Project managers track software costs, schedules and functionality
– Projects standards are defined and followed
– Software Process Capability: Disciplined
• Level 3
– Standard Process for developing and maintaining software is documented
– Organization-wide training program: to ensure that staff and managers have
knowledge and skills to fulfill their assigned roles
– Projects tailor the Standard Process to develop their own well-defined process for
their unique project requirements
– Schedules, Budget, Functionality, Product Quality: Under Control and Tracked
– Software Process Capability: Standard and Consistent
SW-CMM 6
The Maturity Levels (contd..)
• Level 4 – Managed Level
– Quantitative quality goals for products and processes
– Organizational Measurement Program for important software process activities
– Variation in process performance is controlled to be within acceptable range
– Software Process Capability: Predictable

• Level 5 – Optimizing Level


– Focus on Continuous Process Improvement
– Identify weakness and strengthen the process proactively
– Perform cost benefit analyses of new technologies and proposed changes to the
organization’s software process
– Analyze defects to determine their causes – evaluate the software process
accordingly
– Software Process Capability: Continuous Improving

SW-CMM 7
Visibility in the Software Process
1. A Black Box
2. Visibility on defined
intervals – could be
project milestones or
reviews
3. Tasks in project’s
defined process are
visible
4. Managers are able to
measure the progress
and problems – as the
software process is
instrumented and
controlled quantitatively
5. New and Improved
ways of building
software are tried.
Disciplined change.
SW-CMM 8
Process Capability &
Performance Prediction

• As Maturity
increases the
difference
between targeted
results and
actual results
decreases

SW-CMM 9
Skipping Maturity Levels
• Every level forms a necessary foundation for the succeeding
levels for implementing processes effectively and efficiently.

• Processes with out proper foundation fail under stress.

• Also, they provide no basis for future improvement.


• Consider
– Level 1 org. trying to implement a defined process (Level 3) before a
repeatable process (Level 2) is usually unsuccessful as the managers
are unable to manage the schedule and cost pressures.

– Though it may be possible to define and implement the engineering


process, without proper management discipline the engineering
process is sacrificed to schedule and cost pressures

SW-CMM 10
Operational Definition of CMM
• Except for Level 1, each maturity
level is decomposed into several
Key Process Areas.
• Key process areas identify the
issues that must be addressed to
achieve a maturity level.
• Every key process area is
organized into five common
features. These are the key
practices, which collectively
accomplish the goals of the key
process area.
• When the goals of the key
process areas are met regularly
across projects, the organization
has institutionalized the process
capability of the key process area.

SW-CMM 11
SW-CMM 12
Supported Uses of CMM
• Assessment teams use CMM to identify strengths and
weaknesses in the organization

• Evaluation teams use CMM to identify risks of selecting


among different contractors for awarding business and to
monitor contracts

• Managers and technical staff will use CMM to understand the


activities necessary to plan and implement the software
process improvement program for their organization

• Process improvement groups (SEPG), will use CMM as a


guide to help them define and improve software process in
their organization

SW-CMM 13
Software Process Assessments and Software Capability Evaluations

• Software Process
Assessments focus on
identifying improvement
priorities within an
organization’s own software
process.

• Software Capability
Evaluations focus on
identifying the risks
associated with a particular
project or contract for building

• CMM establishes a common


frame of reference for
performing the software
process assessments and
evaluations
SW-CMM 14

You might also like