Q1:What is the difference between CMM and CMMI?
Why CMM is important
for process improvement?
Capability Maturity Model (CMM)
Capability Maturity Model is used as a benchmark to measure the maturity of
an organization's software process.
CMM is a methodology used to develop, refine maturity of an organizations
software development process. It is developed by SIE in mid 1980. It is a
process improvement approach.
To assess an organization against a scale of 5 process maturity levels. It Deals
with the what processes should be implemented & not so much with the how
processes should be implemented. Each maturity level comprises a predefined
set of process areas called KDA (Key Process Area), these KDA – Goals,
Commitment, Ability, measurement, verification.
Levels of Capability Maturity Model (CMM)
1. Initial
2. Repeatable/Managed
3. Defined
4. Quantitatively Managed
5. Optimizing
1. Initial – Work is performed informally.
A software development organization at this level is characterized by AD
HOC activities (organization is not planned in advance.).
2. Repeatable – Work is planned and tracked.
This level of software development organization has a basic and consistent
project management processes to TRACK COST, SCHEDULE, AND
FUNCTIONALITY. The process is in place to repeat the earlier successes on
projects with similar applications.
3. Defined – Work is well defined.
At this level the software process for both management and engineering
activities are DEFINED AND DOCUMENTED.
4. Managed – Work is quantitatively controlled.
Software Quality management – Management can effectively control
the software development effort using precise measurements. At this level,
organization set a quantitative quality goal for both software process and
software maintenance.
Quantitative Process Management – At this maturity level, The
performance of processes is controlled using statistical and other
quantitative techniques, and is quantitatively predictable.
5.Optimizing – Work is Based Upon Continuous Improvement.
The key characteristic of this level is focusing on CONTINUOUSLY
IMPROVING PROCESS performance.
Key features are:
Process change management
Technology change management
Defect prevention
Capability Maturity Model Integration (CMMI)
CMMI is a successor of CMM and is a more evolved model that incorporates
best components of individual disciplines of CMM like Software CMM,
Systems Engineering CMM, People CMM, etc. Since CMM is a reference
model of matured practices in a specific discipline, so it becomes difficult to
integrate these disciplines as per the requirements. This is why CMMI is used
as it allows the integration of multiple disciplines as and when needed.
Levels of Capability Maturity Model Integration (CMMI)
1. Initial
Processes are poorly managed or controlled.
Unpredictable outcomes of processes involved.
Ad hoc and chaotic approach used.
No KPAs (Key Process Areas) defined.
Lowest quality and highest risk.
2. Managed
Requirements are managed.
Processes are planned and controlled.
Projects are managed and implemented according to their
documented plans.
This risk involved is lower than Initial level, but still exists.
Quality is better than Initial level.
3. Defined
Processes are well characterized and described using standards,
proper procedures, and methods, tools, etc.
Medium quality and medium risk involved.
Focus is process standardization.
4. Quantitatively managed
Quantitative objectives for process performance and quality are set.
Quantitative objectives are based on customer requirements,
organization needs, etc.
Process performance measures are analyzed quantitatively.
Higher quality of processes is achieved.
lower risk
5. Optimizing
Continuous improvement in processes and their performance.
Improvement has to be both incremental and innovative.
Highest quality of processes.
Lowest risk in processes and their performance.
Key differences and inefficiency of CMMI
CMMI is the product of a consolidation and reordering of CMM practices and
principles. A few key changes have been included in the structure of the model
so as to make it more compatible with other standards: there is a “continuous”
approach to the improvement programme as well as the “staged” one which was
imposed in CMM, measurements have been removed from every single KPA
and placed as a separate maturity level 2 process area, the structure of specific
and generic practices gives a better framework for continuous improvement in
most cases, but sometimes recreate the same kind of issues as we had in CMM
with the KPA level measurement and analysis requirement. Finally, CMMI is
less focused on software than the CMM, however the focus remains on very
heavily on software development at the expense of other forms of engineering
(e.g. a strong emphasis continuously repeated on how to satisfy CMMI when
using Agile methodologies).
Both CMM and CMMI define five distinct levels of process maturity based on
Key Performance Areas (KPA’s). The KPA's of CMMI levels overcome the
inefficiency of CMM levels to unearth significant architectural flaws.
Level 1 (Initial): The first level of both CMM and CMMI describes an
immature organization without any defined processes, run in an ad hoc,
uncontrolled, and reactive manner.
Level 2 (Repeat): Organizations that repeat some processes attain
Level 2 CMM. Level 2 of CMMI however requires management of
organizational requirements through planned, performed, measured,
and controlled processes.
Level 3 (Defined): CMM Level 3 mandates a set of documented
standard processes to establish consistency across the organization.
CMMI Level 3 is an improvement of CMMI Level 2 and describes the
organizational processes in standards, procedures, tools, and methods.
Level 4 (Manage): CMM Level 4 requires organizations to attain
control over processes by using quantitative statistical techniques.
CMMI Level 4 demands likewise, but also identifies sub processes that
significantly contribute to overall process efficiency.
Level 5 (Optimized): CMM Level 5 mandates use of quantitative
tools and objectives to manage process improvement. CMMI Level 5
on the other hand focuses on continuously improving process
performance through incremental and innovative technological
improvements.
While CMM is a certification tool, CMMI is not. An organization is appraised
and awarded a CMMI Rating from 1 to 5 depending on the extent to which the
organization adopts the selected CMMI model.