Capability
Maturity
Model
History
In 1986 - Effort started by SEI (Software Engineering Institute) and MITRE
Corporation
To solve the problem of why software projects were always late, over
budget and full of bugs
First version published in 1991
closely related to TQM ( total quality management) describes a
management approach to long-term success .
goal is customer satisfaction
CMM
It is a framework which is used to analyse the approach and techniques
followed by any organization to develop a software product.
It is based on profound feedback and development practices adopted by
the most successful organizations worldwide.
It emphasizes well-defined processes, goals, and practices as a way to turn
into successful software production.
The CMM is an attempt to formalize what is often a chaotic and
disorganized process.
Characteristics of a Mature
Organization
Possesses an organization-wide ability to manage software development
and maintenance processes
The processes are documented and communicated to existing staff and
new employees.
Work activities are carried out according to documented procedures and
process.
The defined processes are updated when necessary; improvements are
developed through controlled pilot test or cost/benefit analysis
Applying CMM
SEI recommends preparing the organization for change by creating a
compelling case, including the reasons for the change, and the expected
costs and benefits.
The next step is to create an engineering process group, which will exist
for the duration of the process improvement activity.
This picture of the current status can then be used to set the goals for the
organization and build the process improvement plan.
The next steps are to begin implementing the plan and tracking the
progress of that implementation.
How long does it Take to Implement CMM?
CMM implementation does not occur overnight
It's just not merely a "paperwork.“
Typical times for implementation is
◦ 3-6 months -> for preparation
◦ 6-12 months -> for implementation
◦ 3 months -> for assessment preparation
◦ 12 months -> for each new level
Overview of the 5 Levels
CMM Maturity Distribution
Who uses CMM?
75% of organizations are probably Level One.
◦ To get to Level Two, you must have control over the requirements documents.
Hence, companies like Microsoft are Level One.
75% of Level Five organizations are in India.
Cognizant Technology Solutions
HCL Technologies Limited
IBM Global Services
ITC Infotech Ltd.
Level 1 : The Initial Level
ad hoc, sometimes chaotic
Success depends on heroic effort, overtime
during a crisis, projects abandon plans.
Most organizations are Level 1.
capability is characteristic of individuals, not the organization
◦ when a good manager leaves, the success leaves with them
Level 2 : The Repeatable Level
Planning is based on experience with similar projects
◦ past successes can be repeated
◦ Processes are project oriented
Policies for Managing and Implementation
◦ installed basic management controls
◦ track costs and schedules
◦ notice and deal with problems as they arise
Level 3 : The Defined Level
Standard Processes defined across the organization and used by all
projects
◦ standard set of roles, activities, quality tracking, etc.
◦ each project uses a tailored version of this standard process
Training Program is in place to ensure everyone has the skills required
for their assigned role
Level 3 focuses on organization wide issues
A formal focus for process improvement exists
Processes are documented and maintained
Level 4 : The Managed Level
The software process is under statistical control.
Quantitative quality goals for products are established and met .
Strong knowledge and use of metrics and statistical techniques
throughout the organization.
Schedule and quality performance is predictable.
Products are of predictably high quality.
Level 5 : The Optimizing Level
Organization has the means to identify weaknesses and strengthen
the process proactively
teams analyze defects to determine their cause, and disseminate
lessons learned throughout the organization
major focus on eliminating waste
◦ e.g. reduce amount of rework
Structure
Key Process Areas
Goals Of KPA
Each KPA has associated goals.
The degree of achievement of each Level’s
KPA’s Goals measure the level of maturity.
Goals are achieved by satisfactorily
implementing the activities
Common Features of KPA
There are 5 features common to all KPAs
◦ Commitment to Perform
◦ Ability to Perform
◦ Activities to Perform
◦ Measurement and Analysis
◦ Verifying Implementation
Level Comparison - Risk
Level 1
◦ Just do it
Level 2
◦ problems are recognized and corrected as they occur
Level 3
◦ problems are anticipated and prevented, or impacts minimized
Levels 4 and 5
◦ sources of problems are understood and eliminated
What are the benefits ?
Helps forge a shared vision of what software process
improvement means for the organization.
Defines set of priorities for addressing software problems.
Supports measurement of process by providing framework for
performing reliable and consistent appraisals.
Provides framework for consistency of processes and product
Limitations of CMM
CMM determines what a process should address instead of how it
should be implemented
It does not explain every possibility of software process
improvement
It does not tell on what kind of business an organization should be
in.
CMM will not be useful in the project having a crisis right now
SEI Core Measures
Unit of Measure Characteristics Addressed
Physical source lines of code Size, reuse, rework
Logical source lines of code
Staff hours Effort, cost, resource allocations
Calendar dates for process Schedule, progress
milestones
Calendar dates for deliverables
Problems and defects Quality, improvement trends,
rework, readiness for delivery
Summary
SEI/CMM provides a well defined framework for assessing
and evaluating a software development organization’s
maturity.
Formal assessment is not required.
SEI/CMM is descriptive, not prescriptive.
SEI/CMM is comprehensive, but not complete.