What is CMMI? Capability Maturity Model Integration
CMMI (Capability Maturity Model Integration) belongs to the model family developed by SEI (Software Engineering Institute) to assess the capabilities of systems engineering and software engineering organizations, along with the integrated product and process development.
CMMI is a descriptive model that details the essential attributes that should characterize an organization at a given maturity level.
It is a normative model where the practices detailed characterize the normal types of behavior expected in an organization that executes large-scale projects. The continuous improvement of the processes is based in small, evolutionary steps instead of revolutionary innovations.
CMMI provides a framework to organize these evolutionary steps within five maturity levels, which lay the successive foundations to continuously improve the process.
What are maturity levels?
A maturity level is an evolutionary, well-defined platform oriented to obtaining a mature software process. Each maturity level provides a layer to the foundations of a continuous improvement process.
Each level has a set of goals that, once reached, stabilize an important component of the software process. Once each level of the maturity framework is reached, a different component of the software process is established, resulting in an increase in the organization’s process capacity.
Why assess CMMI?
Nowadays, companies that produce software to satisfy a growing market that demands this type of technological solutions must continuously search for alternatives that allow them to improve their product performance and quality in order to continue competing in a setting that it is more and more globalized and aggressive.
This situation is more obvious when we analyze the needs of global software production:
- Better performance
- More efficiency
- Avoidance of market loss
- Better prepared human resources
- Products that facilitate integration of different technologies
If we visualize these points in a more general way, we can assert that the industry has a strong need to optimize all product development aspects.
Reinforcing this statement, today it is globally accepted that the quality of the process used to develop a specific product has a strong impact on its final quality. Therefore, the improvement of development processes is not just a possible option but a survival strategy.