Capability Maturity Model Integration (CMMI) After the development and successful application of the CMM in the software
18.2.5 Capability Maturity Model Integration (CMMI) After the development and successful application of the CMM in the software
area, which is known as software CMM (CMM-SW), CMMs in other areas were developed as well.
The CMM for software, known as CMM-SW, was first released in 1991 as CMM-SW version 1.0, followed by CMM-SW version 1.1 in 1993. After its first release, many software organizations used it for self and external evaluations. The success of CMM-SW led to the development of CMM in other areas. Thus, the concept of CMM is not software specific. In order to appreciate the wide applicability of CMM, we remind the reader of the following: A CMM is a reference
model of mature practices in a specific discipline used to apprise and improve a group’s capability to perform that discipline . To name a few, there are several CMMs as follows:
• Software CMM • Systems engineering CMM • Integrated product development CMM • Electronic industry alliance 731 CMM • Software acquisition CMM • People CMM • Supplier source CMM
It is apparent from the above examples of the CMM that they are likely to have different characteristics. The CMMs differ in three ways, namely, discipline, structure , and definition of maturity. First, different CMMs are applied to different disciplines, such as software development, system engineering, software acquisi- tion, and people. Second, improvements can be made continuously or in distinct stages. Finally, the definition of maturity is dependent upon the entity under con- sideration. It is obvious that people and software acquisition mature in different ways, and their maturity is defined in different ways.
As more than one CMM was applied in an organization, a number of problems surfaced because of the following reasons:
• Different models have different structures, different ways of measuring maturity, and different terms.
• It was difficult to integrate the different CMMs to achieve the common organizational goal which is to produce low-cost, high-quality products within schedule.
• It was difficult to use many models in supplier selection and subcontracting.
555 Therefore, a pressing need was felt to have a unified view of process improvement
18.3 TEST PROCESS IMPROVEMENT
throughout an organization. Thus, evolved the idea of CMMI. The CMMI includes information from the following models:
• Capability maturity model for software (CMM-SW) • Integrated product development capability maturity model (IPD-CMM) • Capability maturity model for systems engineering (CMM-SE) • Capability maturity model for supplier sourcing (CMM-SS)
The usefulness of the CMMI is readily recognized by considering the following facts. First, today’s complex software systems are often built by using some subsys- tems developed by other parties. For example, a security module may be purchased from another vendor. Similarly, a communication module may be obtained from a vendor specializing in communication systems. There is a need for evaluating the maturity of the suppliers. Second, large systems often contain a number of diverse components, such as databases, communications, security, and real-time process- ing. Coexistence and interoperability of the diverse systems, which might have been developed by different vendors, are paramount to the successful operation of larger systems. Consequently, it is important to evaluate the maturity level of an integrated product development process. Third, in general, complex software sys- tems often need to run on specialized execution platforms. For example, Internet routing software runs on specialized hardware and a specialized operating system, rather than the commonly used hardware platforms and operating systems. Those kinds of software need to be developed in the right system context.