CMMI is a framework of best practices which is stand for Capability Maturity Model Integration. CMMI-DEV is the current version which describesthe best practices in measuring, managing and monitoring software development processes. It does not describe only processes themselves; it describes the processescharacteristics only hence it is carving a path of guidelines for companies developing their own sets of processes.
Initially the CMM (Capability Maturity Model) was introduced but later CMMI came into existence. SEI (Software Engineering Institute ) developed both of the model at Carnegie Mellon University in Pittsburgh, Pa. CMM was developed in the late 1980s, and it as replaced by CMMI after a decade and finally CMMI v1.02 released in the year of 2000.
Late the version CMMI 1.2 was released in the year of 2006 which identifies five levels of process maturity for an organization:
1.Initial (chaotic, ad hoc, heroic): It is the starting point for use of a new process. 2.Repeatable (project management, process discipline): The process which are used repeatedly. 3.Defined (institutionalized): The process has to be defined/confirmed and treated as a standard business process. 4.Managed (quantified): It includes the Process management and measurement take place. 5.Optimizing (process improvement): Process management includes deliberate process optimization/improvement.
The main KPAs (key process areas) within each individual maturity levels which is categorize that level, and five measures for each KPA:
This is the sole responsibilities of the organisations that they have to be formally assessed as to their maturity level. Once they achieved the level 1 then they can make a plan to get to the next and later on . Though the rigorous and ongoing processesis essential and precluded the advancement of many commercial software companies beyond level 1.
There are different views about the CMMI some experts understand that the CMMI didn't address all facets of the software development process like as design and deployment as well as peripheral processes involved in software development, such as acquisition. There for CMMI entrenched in the waterfall development model.
It is also noted that CMM involved and emphasized on too much paperwork and too many meetings, and that it wasn't a good fit for many industries.
Now a days Commercial, Private and government organizations are using the CMMI models to help in defining process improvements for software systems engineering, system engineering,process development and integrated product.
Different Organizations are also using the CMMI to set a benchmark and use the processes to help them acquire, develop, and maintain services and products.
CMMI may helpful to the organization for:
•Cut the cost of process •Better results •Better Quality services •Cut the time to delivery of projects •Determination of more realistic timing for the project
Apart from all benefits the CMMI level certification is also framework like other framework and not a quick fix .Improvements is slower process and it takes years and months not days or hours.