CAPABILITY MATURITY MODEL (CMM): CMM is a strategy for improving the software process, irrespective of the actual life cycle model used. Software Engineering Institute (SEI) of Carnegie-Mellon University developed CMM in 1986. CMM is used to judge the maturity of the software processes of an organization and to identify the key practices that are required to increase the maturity of these processes.
Different levels of CMM:
1) Initial (maturity level 1)-At this, the lowest level, there are essentially no sound software engineering management practices in place in the organization. Instead everything is done on adhoc basis. In maturity level 1 organization, the software process is unpredictable.
2) Repeatable (maturity level 2)-At this level, policies for managing a software project and procedures to implement those policies are established. Planning and managing new projects is based on experience with similar projects. An objective in achieving level 2 is to institutionalize effective management processes for software projects, which allow organizations to repeat successful practices, developed on other projects. The software process capability at level 4 organizations can be summarized as disciplined.
3) Defined (maturity level 3)- At this level, the standard process for developing and maintaining software across the organization is documented, including both softwareengineering and management processes. Processes established at level 3 are used to help the software managers and technical staff to perform more effectively. The software process capability at level 4 organizations can be summarized as standard and constituent.
4) Managed (maturity level 4)-At this level, the organization sets quantitative quality goals for both software products and processes. Productivity and quality are measured for important software process activities across all projects as part of an organizational measurement program. The software process capability at level 4 organizations can be summarized as 'predictable'.
5) Optimizing (maturity level 5)-At this level, the entire organization s focused on continuous process improvement. The organizations have the means to identify weaknesses and strengthen the process proactively, with the goal of preventing the occurrence of defects. . The software process capability at level 4 organizations can be summarized as continuously improving.
ISO 9001 and CMM:
1: Management responsibility: ISO 9001 requires that the quality policy be defined, documented, understood,implemented,andmaintained.Whereas in CMM, management esponsibility for qualitypolicy and verification activities is primarily addressed in software quality assurance.
2: Document control:ISO 9001 requires that the distribution and modification of documents be controlled. In the CMM, the configuration management practices characterizing document control are described in software configuration management.
3: Purchasing: ISO 9001 requires that
purchased products conform to their specified requirements. In the CMM, this is addressed in software subcontract
4: Training: ISO 9001 requires that training needs to be identified and that training be provided. Records of training are maintained.
In CMM, specified trainings are identified in the training and orientation practices in the ability to perform common feature.
5: Internal quality audit: ISO9001 requires that the audits be planned and performed. The results of audits are communicated to management, and any deficiencies found are corrected.
Specific audits in the CMM are called out in the auditing practices of the verifying implementation common feature.