CMM
What is CMM
Developed by the Software Engineering Institute
of the Carnegie Mellon University. Framework that describes the key elements of an effective software
process. Describes an evolutionary improvement
path for software organizations from an ad hoc, immature process to a mature,
disciplined one. Provides guidance on how to gain control of
processes for developing and maintaining software and how to evolve toward a
culture of software engineering and management excellence.
Process Maturity Concepts
ü
Software
Process, set of
activities, methods, practices, and transformations that people use to develop
and maintain software and the associated products (e.g., project plans, design
documents, code, test cases, user manuals)
ü
Software
Process Capability, describes
the range of expected results that can be achieved by following a software
process means of predicting the most likely outcomes to be expected from the
next software project the organization undertakes
ü
Software
Process Performance, actual
results achieved by following a software process
ü
Software
Process Maturity
- extent
to which a specific process is explicitly defined, managed, measured,
controlled and effective
- implies
potential growth in capability
- indicates
richness of process and consistency with which it is applied in projects
throughout the organization
Level 1 :
Initial : The software process is characterized
as ad hoc, and occasionally even chaotic. Few processes are defined, and
success depends on individual effort.
- At
this level, frequently have difficulty making commitments that the staff can
meet with an orderly process
- Products
developed are often over budget and schedule
- Wide
variations in cost, schedule, functionality and quality targets
- Capability
is a characteristic of the individuals, not of the organization
Level 2 :
Repeatable : Basic process management processes are
established to track cost, schedule, and functionality. The necessary process
discipline is in place to repeat earlier successes on projects with similar
applications.
•
Realistic
project commitments based on results observed on previous projects
•
Software
project standards are defined and faithfully followed
•
Processes
may differ between projects
•
Process
is disciplined
•
earlier
successes can be repeated
Level 3 :
Defined : The software process for both management and
engineering activities is documented, standardized, and integrated into a
standard software process for the organization. All projects use an approved,
tailored version of the organization’s standard software process for developing
an maintaining software.
Level 4 :
Managed : Detailed measures of the software process and
product quality are collected. Both the software process and products are
quantitatively understood and controlled.
- Narrowing
the variation in process performance to fall within acceptable quantitative
bounds
- When
known limits are exceeded, corrective action can be taken
- Quantifiable
and predictable (predict
trends in process and product quality)
Level 5 :
Optimizing :
- Continuous
process improvement is enabled by quantitative feedback from the process
and from piloting innovative ideas and technologies.
- Goal
is to prevent the occurrence of defects
- Data
on process effectiveness used for cost benefit analysis of new technologies
and proposed process changes
Structure of Capability Maturity Model (CMM)
- Maturity
Levels : It is
a layered framework providing a progression to the discipline needed to
engage in continuous improvement
- Key
Process Areas: A
Key Process Area (KPA) identifies a cluster of related activities that,
when performed collectively, achieve a set of goals considered important.
- Goals: The goals of a key process
area summarize the states that must exist for that key process area to
have been implemented in an effective and lasting way.
- Common
Features:
Common features include practices that implement and institutionalize a
key process area.
- Key
Practices: The
key practices describe the elements of infrastructure and practice that
contribute most effectively to the implementation and institutionalization
of the key process areas.