The Capability Maturity Model Integration (CMMI) is a development model designed in part with the U.S. Department of Defense to help objectively assess government contractors’ development processes. It helps measure the maturity of development processes in a business using a scale of one to five. Processes are measured against requirements in the CMMI, which helps guide organizations through each level as they establish formal, measurable and reliable software development process.
When a business reaches the final stage of CMMI maturity, it is in a state of constant optimization of established development processes. The CMMI framework is designed to help organizations reach this level of maturity by smoothly guiding process development, implementation and maintenance. The lower levels of CMMI maturity build a strong foundation for maintaining the highest level of optimization. Every process starts out in the initial phase and evolves gradually into the final maturity level, using the CMMI as a guide for best practices.
Here is a rundown of what each CMMI maturity level entails, and how your organization can achieve them.
CMMI Maturity Level 1 is typically an unstable environment, where an organization is highly reactive and putting out fires. In this setting, processes are typically ad hoc and the business is relying on specific individuals to keep things afloat. Processes are new and often undocumented — and businesses are unable to reliably repeat processes. This is the starting point for a process your organization plans to repeat — before you’ve ironed out all the kinks and established a routine.
All businesses start at the initial stage when creating a new development process. Once you’ve repeated — or attempted to repeat — the process, you’ll discover unexpected roadblocks to address, adjustments to make and metrics to track. You’ll naturally progress to higher levels through trial and error, as they will help inform improvements.
2. Managed and repeatable
At Maturity Level 2, an organization’s development processes are repeatable and produce consistent results. At this stage, all business projects are managed so that processes are “planned, performed, measured and controlled,” according to CMMI Institute. At this level, the focus is on the management of requirements, processes, work products and services. You want to ensure all stakeholders are established and given ownership over specific tasks.
Processes should be able to withstand a stress test to prove that even when things in the organization aren’t running smoothly, the processes still produce consistent and measurable results.
Maturity Level 3 is when your organization has processes that are “well characterized and understood and are described in standards, procedures, tools and methods,” according to Tutorials Point. Processes should be well-defined and documented, and they should be continually improved to some extent over time. This level brings more organization and standardization to your process by establishing reliability and efficiency.
4. Quantitatively managed and capable
Maturity Level 4 is reserved for processes that have reached a stage where they can be measured using defined metrics that demonstrate how the process is beneficial to business operations.
These processes have been repeatedly tested, refined and adapted in multiple conditions across the organization. All key stakeholders and process users are competent in the established process and comfortable deploying it in various environments. By now, your process should easily adapt to suit other projects in the organization and to stand as a template for future process development.
5. Optimizing and efficient
The final level of maturity describes processes that are continually monitored and improved as needed. Your processes should always remain flexible enough to accommodate new technologies and innovation in the organization. Development processes aren’t meant to be static and the fifth and final level of maturity isn’t an end-point. Organizations still need to maintain a constant focus on process performance to maintain that appraisal level.
Your organization’s processes are evaluated by a certified CMMI Lead Appraiser — either an individual or a team of appraisers who will guide you through the appraisal process to identify strengths and weaknesses. The Standard CMMI Appraisal Method for Process Improvement (SCAMPI) includes three methods: Class A, Class B and Class C.
SCAMPI Class A appraisals are conducted after an organization has implemented changes and process improvements and feels that it’s time to determine a new benchmark using the CMMI framework. This type of appraisal offers a maturity or capability level rating, strengths and weaknesses in your organizational processes, opinions on key process issues and a way to monitor improvement.
SCAMPI Class B appraisals are done when an organization needs to assess how close they are to reaching a target CMMI Maturity Level, and it’s less rigorous than the Class A appraisal. With a Class B appraisal, you’ll get more insight into process strengths and weaknesses, how likely it is that your process will meet the CMMI requirements, a critique of key process issues and a way to monitor and support improvement and future appraisals.
SCAMPI Class C appraisals are designed to be quick and flexible — more so than Class A or B. The Class B appraisal hits on key needs to quickly assess whether your organization is ready for the SCAMPI Class A appraisal. It’s also used to assess a process during development and to monitor process implementation. The Class C appraisal will give your organization more insight into how you can improve processes according to CMMI guidelines, a summary of process adequacy, recommendations for improvement and a database to help monitor future appraisals and improvements.