You are on page 1of 4

Q: What is the difference between CMM and CMMI?

Why CMM is important for


process improvement?

Capability Maturity Model (CMM)

The Capability Maturity Model (CMM) is a methodology used to develop and refine
an organization's software development process. The model describes a five-level
evolutionary path of increasingly organized and systematically more mature
processes. CMM was developed by the Software Engineering Institute (SEI) at
Carnegie Mellon University in 1987. Capability Maturity Model (CMM) specifies an
increasing series of levels of a software development organization. The higher the
level, the better the software development process, hence reaching each level is
an expensive and time-consuming process

Capability Maturity Model Integration (CMMI)

The Capability Maturity Model Integration (CMMI) is a process and behavioral


model that helps organizations streamline process improvement and encourage
productive, efficient behaviors that decrease risks in software, product and service
development. The CMMI starts with an appraisal process that evaluates three
specific areas: process and service development, service establishment and
management, and product and service acquisition. It’s designed to help improve
performance by providing businesses with everything they need to consistently
develop better products and services.

Difference between CMM and CMMI

1) Differences in Implementation

Integration in CMM: The CMM has individual models for each function. But when
the individual processes when integrated led to few discrepancies like model
overlapping, contradiction and each model had its own maturity level which lead
to a confusion. This led to the increase in the costs of the companies that were put
in training.

Integration in CMMI: CMMI employs models that are classified on the basis of
specific areas of interests. These models are those employed by industries
successfully. To employ CMMI in an organization, it must choose a model form the
available 22 models wherein each module covers all the functionalities.

Difference of KPA in CMM and CMMI: Both CMM and CMMI have 5 maturity
levels. But there are differences in the KPAs of each maturity level. The differences
in each model are as follows:

1. Initial: In both models, it covers the organizations without defined processes,


having dynamic changes (ad-hoc) and undocumented.

2. Repeat: In CMM, the companies that seem to do the same process periodically
attain this level. In CMMI, it requires a planned and defined ways of managing the
requirements by estimating cost, time and resources.

3. Defined: CMM requires a standard, well-documented and consistent process


with few degrees of changes to be followed. CMMI requires the process to be
standardized, methodical and procedural with the use of tools.

4. Manage: CMM requires companies to quantitatively measure and monitor


process thereby reducing risks. CMMI, in addition identifies and monitors the sub
processes that contribute to overall efficiency.

5. Optimized: In CMM, the process is continuously improved by following the best


software engineering practices but here the measures are taken simultaneously as
the goals are satisfied. In CMMI, behavior is selected and goals are set to support
it. Behavior is selected on the basis of goals and measures.

2) Difference in Approach

CMM Approach: CMM is an activity based model. It aims only in the completion of the
process and does not care about the desired result and hence it does not motivate the
company to make the necessary changes.
CMMI Approach: CMMI is a result oriented based on key performance areas and
thereof it is a best practice for the companies and helps to avoid the possible risks at a
very early stage.

3) Difference in Paperwork

Both CMM and CMMI documentation has paperwork and meetings that leads to
waste of effort and time of the personnel. However, in CMM is process-oriented
whereas the CMMI is a goal-cum-result-oriented approach.

Importance of CMM for Process Improvement

Importance of using a process improvement framework such as the CMM have


been identified by numerous researchers, both academic and professional, and
would include:

 More accurate identification of flaws in process development operations


 Reduction in cost of software development or management of data as a
resource
 Increase in productivity from software development and / or data
management professionals (staff and contractors)
 Reduction in post-release defects and essential enhancements
 Reduction in time-to-market for implementation

The Capability Maturity Model, whose first version was released in 1991, is based
on actual industry practices, reflects the best practices of the industry, and reflects
the needs of individuals performing software process improvement and process
appraisals (measurement and benchmarking). The CMM is intended to be a
cohesive, coherent, ordered set of incremental improvements, all relating to
experienced success in the field, and packaged into a framework that
demonstrates how effective practices can be built on one another into a logical
and repeatable progression. Far from a “quick fix,” successful use of the CMM
requires attention to detail, support, and participation from senior management
and a rational approach to all aspects of software development or data
management, and implementation.

Many organizations raced to embrace the CMM, recognizing the high costs of poor
quality software development and implementation. However, their enthusiasm in
adopting the CMM was not accompanied by an understanding of the foundations
of quality improvement and the CMM’s role in assisting organizations to recognize
and implement consistent quality improvement methods. Before implementing
the CMM, organizations must understand fully the history of quality and process
improvement methodologies, and the place the CMM holds in this environment.

The CMM as a framework represents a path of improvement recommended


for application development organizations that want to increase their software
process capability. It is designed to support at least one of the following four
operational uses:

 Assessment teams can identify strengths and weaknesses in the organization


 Evaluation teams can identify the risks of selecting from among different
contractors for awarding business and to monitor contracts
 Managers and staff can understand the activities necessary to plan and
implement software process improvement for their organization (most
software organizations fall here)
 Process improvement groups can use it as a guide to help them define and
improve the software process in their organization

You might also like