It’s the 21st century, and every company is trying to become the superior one among its competitors, but in this technological era, only product attributes are not sufficient to stand out in the crowd.
Organizations need to take the help of hardware and software services to face the competition.
To assist the organizations in developing software strategies, certain behavior models are used which measure the success and growth graph of these services. CMM and CMMI are two of such tools engaged in guiding organizations in the field of software maturity and other processes.
- CMM focuses on software engineering and management processes, whereas CMMI focuses on product development and maintenance.
- CMM uses a five-level maturity model to assess the organization’s processes, while CMMI uses a staged representation.
- CMMI incorporates best practices from various disciplines, while CMM focuses solely on software engineering.
CMM vs CMMI
The difference between CMM and CMMI is that the former focuses on evaluating whether an organization completes specific tasks related to the process or not, while the latter focuses on building an architecture for the whole development process.
Want to save this article for later? Click the heart in the bottom right corner to save to your own articles box!
CMM was developed as an assessment model by the Software Engineering Institute at Carnegie Mellon University in 1990.
The main task assigned to this model was to measure the maturity levels of a software development process in an organization. The term CMM stands for Capability Maturity Model and measures an organization’s software practices based on five stages.
While CMMI stands for Capability Maturity Model Integration. It is a successor of CMM and a more revolutionized software development model.
It allows the incorporation of multiple disciplines as per the needs and wants of the organization. This model consists of five stages which are different from the stages of the previous model.
|Parameters of Comparison||CMM||CMMI|
|Definition||CMM stands for Capability Maturity Model.||CMMI stands for Capability Maturity Model Integration.|
|Meaning||It is a behavior model developed to measure an organization’s software development process.||It is a successor of the CMM model and is more effective and task-oriented.|
|Developed in||The year 1990||The year 2006|
|Purpose||To evaluate the process maturity levels in software.||To combine many software models into one and to overcome the drawbacks of CMM.|
|Stages||This model has five stages: Initial Repeat Defined Managed Optimized.||This model has five stages, too: Initial Managed Defined Quantitively managed Optimized.|
|Efficiency||Less effective one||More effective one|
What is CMM?
Developed by the Software Engineering Institute in the year 1990, CMM emerged as a behavioral model which measured the maturity of software to determine how it should be developed further.
It was primarily designed to assist the defense system of the U.S. but eventually made its debut in the general software world also.
CMM lists down some specific activities and asks the organization to undertake those. If the organization successfully performs all the tasks, the model assumes that it will achieve success.
This hampers the actual evaluation as the only completion of a task does not guarantee success to any organization.
CMM has various branches in it, such as Software CMM and People CMM. This does not provide an integrated approach to the process and increases the workload. The model also focuses on a lot of paperwork which consumes so much time.
Following are the five stages included in this model, along with a brief description:
- Initial (defines a newbie organization that does not have a process yet)
- Repeat (defines an organization that repeats some of the processes)
- Defined (defines an organization having a set of the standard process)
- Managed (defines an organization having control over these processes)
- Optimized (defines an organization that uses quantitative tools to bring improvement in the process)
What is CMMI?
CMMI was developed in the year 2006 as a successor to the CMM. It was developed by the Software Engineering Institute at Carnegie Mellon University to overcome the drawbacks of the CMM.
This model not only focuses on the tasks but also pays attention to the success rate and performance of these tasks.
It measures how an organization performed even after completing the tasks and suggests changes accordingly. This model integrates all the branches of CMM and provides a better and integrated approach.
This model has the following five stages:
- Initial (defines an organization having poor and unpredictable process)
- Managed (defines an organization that has managed all its requirements and resources)
- Defined (defines an organization having more detailed processes)
- Quantitively managed (defines an organization that has all the previous goals)
- Optimized (focuses on continually improving processes)
Main Differences Between CMM and CMMI
- CMM was developed in the year 1990, while CMMI was developed in the year 2006.
- CMM stands for Capability Maturity Model. Meanwhile, CMMI stands for Capability Maturity Model Integration.
- CMM was developed as the first major software maturity evaluating model, while CMMI emerged as the successor for CMM to overcome its shortcomings.
- Both CMM and CMMI have five stages in their model, but the stages are different from each other. While CMM has- Initial, Repeat, Defined, Managed, Optimized. CMMI has Initial, Managed, Defined, Quantitively Managed, and Optimized.
- CMM measures an organization’s success based on specific tasks that the organization performs. It does not pay much attention to the results. While CMMI measures the results while evaluating the maturity levels.
I’ve put so much effort writing this blog post to provide value to you. It’ll be very helpful for me, if you consider sharing it on social media or with your friends/family. SHARING IS ♥️
Sandeep Bhandari holds a Bachelor of Engineering in Computers from Thapar University (2006). He has 20 years of experience in the technology field. He has a keen interest in various technical fields, including database systems, computer networks, and programming. You can read more about him on his bio page.