Capability Maturity Model (CMM) and Capability Maturity Model Integration (CMMI) are frameworks for evaluating and improving an organization's processes for software development, acquisition, and maintenance. Both models were developed by the Software Engineering Institute (SEI) at Carnegie Mellon University.
CMM is a process improvement model that provides a framework for improving the processes used to develop and maintain software. It consists of five levels, each representing a different level of process maturity: Initial, Repeatable, Defined, Managed, and Optimizing. Organizations using CMM strive to move from one level to the next by establishing processes and procedures that are more effective and efficient.
CMMI, on the other hand, is an improvement model that integrates best practices from a variety of sources, including CMM, into a single, unified model. CMMI addresses a wide range of processes, including engineering, acquisition, and management, and can be used to improve the performance of any organization, not just those involved in software development. Like CMM, CMMI consists of five levels: Initial, Managed, Defined, Quantitatively Managed, and Optimizing.
One of the main differences between CMM and CMMI is the focus of the models. CMM is primarily focused on software development processes, while CMMI is focused on a broader range of processes. CMM also has a more linear progression from one level to the next, while CMMI allows for more flexibility and customization in terms of process improvement.
Another difference between the two models is the way they are used. CMM is typically used as a benchmarking tool, with organizations striving to reach the highest level of maturity. CMMI, on the other hand, is often used as a continuous improvement model, with organizations using it to identify areas for improvement and then implementing changes to their processes to address those areas.
In summary, CMM and CMMI are both frameworks for evaluating and improving processes in organizations, but they differ in their focus and the way they are used. CMM is focused on software development processes and is used as a benchmarking tool, while CMMI is focused on a wider range of processes and is used as a continuous improvement model.