In November 1986, the federal government commissioned the Carnegie Mellon University (carnegie-mellon) Software Engineering Institute (SEI) to develop a methodology for assessing the capabilities of software contractors. Sei released a software Process maturity framework and a set of maturity questionnaires in September 1987. In 1991, SEI developed the Software Process maturity framework into a software capability Maturity Model (Capacity maturity MODEL,CMM), which created CMM 1.0. In the 1993, SEI launched CMM 1.1, the most widely used CMM version in the world today.
Over the past more than 10 years, the improvement of CMM has been continuously carried out. The Pentagon wants to integrate all the capabilities maturity models that are now and will be developed into one framework. By 2000, CMM evolved into CMMI (Capability Maturity Model integration, Capability Maturity Modeling integration). CMMI is not only suitable for software, but also suitable for software hardware combination system, this is the most improved CMM.
From the 1990s to now, software Process Improvement has become a mainstream research direction in software engineering discipline, in which CMM and CMMI are the major achievements in this field. Cmm/cmmi is the de facto standard for measuring software (hardware) process capabilities worldwide and is the most authoritative guide to software (hardware) process improvement.
CMM divides capacity maturity into 5 levels, and these 5 maturity levels provide an orderly level of evaluation of the Organization's software process capabilities, as shown in Figure 1-2. It also points out the direction of the Organization's software process improvement work, and gives people a way to prioritize and guide them step-by-step to improve process capabilities rather than trying to move forward in leaps and bounds.
Figure 1-2 CMM 5 capability maturity levels
People often confuse the relationship between CMM and software process improvement. Here's an analogy to explain:
"Software Process Improvement" is likened to "learning English, improving English ability", then the CMM is like "English Level Evaluation Standard (examination outline)". In general, English proficiency test results reflect the ability of English. However, in China, which is especially good at examination, English test results are very good and may not be good English ability, or even worse to "dumb English" degree. This "feature" is transmitted to the software domain, although many enterprises have passed the high level of CMM level evaluation, but its actual ability is very low.
The real purpose of software process improvement is to improve the software process capability of the organization, rather than to achieve a high level of CMM. "You want to write poetry, Kung Fu in poetry", this is a good revelation.
From 2000 to 2003, I was in charge of Cmm/cmmi's research and promotion work in Shanghai Bell Co., Ltd., each of the company's business departments have software (hardware) process improvement personnel. The company has invested a lot in cmm/cmmi process improvement and achieved some results, but it didn't meet my expectations. Feeling a lot, untold. Here, I make a brief comment to the Cmm/cmmi process improvement, for the colleague Enterprise reference.