The capability maturity model (CMM) was conceived during the 1980s as a way to improve the way US government departments interfaced with technical contractors. The rapid onset and development of computer technology forced many agencies, including the Department of Defense, to develop a new model to adapt to the more demanding and fast-paced nature of digital systems.
Overview: What is the capability maturity model?
At its core, CMM is nothing more than a model for continuous improvement that is geared specifically to software development. This means that its objectives and priorities align with those of lean management and Six Sigma practices, so it’s a useful tool for leaders to have in their arsenal. Capability maturity modeling is based on the concept of maturation, which recognizes the changing needs at different stages of development from infancy to adulthood. Every software system falls within 1 of 5 categories in the CMM model: initial, repeatable, defined, managed and optimized.
3 benefits of CMM
As a system specifically engineered and optimized for processes related to software, this type of modeling can be very useful for active developers and software as a service providers.
1. Simple structure
There is an elegance and efficacy only found in simplicity, which is one of the benefits of CMM. It’s a basic five-step process that makes sense, so it’s not something you have to struggle to wrap your head around.
2. Meaningful milestones
Each of the five stages of capability maturity models are clearly defined as a distinct phase for software processes. This helps participants keep achievable and immediate goals in sight while still working towards the long-term objective.
3. Proven results
The reputation and proven results of CMM speak for themselves. With decades of testing, improvements and program development, there is already a strong and stable foundation to build on.
Why is capability maturity modeling important to understand?
Like any kind of continuous improvement model, CMM is important to understand so it can be used effectively and appropriately.
Honest assessment matters – What you put into the model is what you get out. If leaders in the company are unable or unwilling to face honest assessment and criticism, then the program probably won’t work well.
Change is an action – Thinking and talking are absolutely vital stages of the improvement process, but they don’t accomplish anything on their own. Change is an action that eventually needs to be taken. Leaders need to face this reality even if it’s uncomfortable or difficult to get started.
Continuous doesn’t conclude – If you think you’ve perfected a software process, you are wrong. There is always room for improvement and fast-paced industries often demand the innovation and flexibility that comes with it.
An industry example of a CMM
A large company decides to embrace integrated software solutions to facilitate marketing and customer relations. They do this by adopting a customer reputation management (CRM) tool that functions as a central, real-time database accessible by many different employees. The process of onboarding and using this software begins in the first or initial stage. This means everyone who is using the software is basically figuring it out as they go and doing things as they see fit. It’s hard to teach others or communicate about the software effectively because there is no common ground for discussion. The second stage is repeatable which can only happen when processes are planned, measured and controlled to some extent. In this example, the system would be repeatable once multiple users are able to consistently repeat a particular action in a specified way. The following stages reflect similar growth and maturation. The final stage of each cycle is optimization, which is usually where the details are hashed out and loose ends fastened.
3 best practices when thinking about capability maturity models
Modeling is only as good as your best practices, so don’t forget to follow them.
1. Remember your goals
One of the biggest complaints and risks associated with using CMM is being more process-focused than goal-focused. It’s easy to get so caught up in perfecting a process that you lose sight of value-adding activity.
2. Pause between repetitions
Continuous improvement cycles should continue in perpetuity, but that doesn’t mean you should be doing them all the time. There’s nothing wrong with proceeding carefully and taking little breaks between each cycle to pause and reflect.
3. Involve subject experts
Bringing internal or external experts when creating or analyzing a capability maturity model can greatly improve the accuracy of the process. However, you must be willing to hear conflicting views and make decisions based on them.
Frequently Asked Questions (FAQ) about CMMs
What are the five levels of CMM?
The five stages of the capability maturity model are initial, repeatable, defined, managed and optimized.
What is the difference between CMM and CMMI?
CMMI is essentially an advanced version of CMM that covers a broader scope that includes suppliers and other external factors that may influence development.
What is a CMM 5 company?
A company is considered CMM 5 when they have reached a point of enterprise-level optimization in software development, integration and implementation. It doesn’t mean their processes are perfect, but it does mean they have proven themselves to be focused and quality-driven.
Taking business to the next level
The capability maturity model makes next level thinking literal and achievable. It provides understandable benchmarks that establish a clear framework for expectations, preparation and ongoing development. It’s a program worth studying and utilizing for businesses facing technical and logistical challenges related to software development.