CMMI is a newer, updated model of CMM. SEI developed CMMI to integrate and standardize CMM, which has different models for each function it covers. These models were not always in sync; integrating them made the process more efficient and flexible.
CMMI includes additional guidance on how to improve key processes. It also incorporates ideas from Agile development, such as continuous improvement.
SEI released the first version of CMMI in 2002. In 2013, Carnegie Mellon formed the CMMI Institute to oversee CMMI services and future model development. ISACA, a professional organization for IT governance, assurance and cybersecurity professionals, acquired CMMI Institute in 2016. The most recent version -- CMMI V2.0 -- came out in 2018. It focuses on establishing business objectives and tracking those objectives at every level of business maturity.
CMMI adds Agile principles to CMM to help improve development processes, software configuration management and software quality management. It does this, in part, by incorporating continuous feedback and continuous improvement into the software development process.
Under CMMI, organizations are expected to continually optimize processes, record feedback and use that feedback to further improve processes in a cycle of improvement.
One criticism of CMM is that it is too process-oriented and not goal-oriented enough. Organizations have found it difficult to tailor CMM to specific goals and needs. One of CMMI's improvements is to focus on strategic goals. CMMI is designed to make it easier for businesses to apply the methodology to specific uses than with CMM.
Like CMM, CMMI consists of five process maturity levels. However, they are different from the levels in CMM.
The process performance levels of CMMI are the following:
- Initial. Processes are unpredictable and reactive. They increase risk and decrease efficiency.
- Managed. Processes are planned and managed, but they still have issues.
- Defined. Processes become more proactive than reactive.
- Quantitatively managed. Quantitative data is used to craft predictable processes that fulfill stakeholder needs based on more accurate measurement of adherence to business goals.
- Optimizing. The organization has a set of consistent processes that are constantly being improved and optimized.
Via techtarget