In order to ensure the orderly, efficient, high quality and controllable software development, various methods have been tried, from implementing ISO-9000 Standard certification to implementing software Capability Maturity Model (CMM) evaluation, but the results seem to be small. CMM is internationally recognized, the most mature, the most effective one of the improved software.
Methods and standards of engineering level. The CMM model is divided into 5 levels, totaling 18 key process domains, 52 targets, and more than 300 key practices.
Tsinghua University As an example, it is the first in the country through the CMM two assessment of the enterprise, the company is in collaboration with the IBM Java components of the project through this assessment, time-consuming for nearly 3 years. Lenovo in the CMM evaluation, the company formed a 10-person process Improvement team, the implementation time lasted more than a year. From the cost of the company, 10 people's salary + please assess the experts + use the company's other resources, certainly more than millions of.
At present, the implementation of domestic CMM evaluation mainly has the following three questions:
First, the assessment cost is very high, such as a domestic company only through the CMM2 level of evaluation cost about 1.5 million yuan;
Second, the time is very long, in the process of implementing CMM, the process has been complicated, increasing the difficulty and complexity of software development, the whole process is very difficult to operate, especially the first assessment;
Third, the effect is not ideal, a lot of evaluation form is larger than the content, many evaluation projects, documents have fabricated traces, so the effect of nature greatly reduced. Also, evaluations are linked to individual projects, and how to promote them across the company is a big problem.
As mentioned earlier, the CMM is a fairly complex standard that provides good guidance on how to improve the software development process, which sets out what to do and how to do it. This method left a lot of space for customers to develop their own software processes, specifications and standards, but also to the customer put forward very high requirements. Moreover, the CMM standard itself is an idealized thing. CMM has 18 key practice domains, and the first fundamental principle of each key practice area is the need to provide adequate funding, time and resources for this management/technical effort. This principle is not satisfied by most enterprises.
There are many misunderstandings in the evaluation of CMM in domestic enterprises. For example, some enterprises take CMM as the Bible to solve all problems, there is no good understanding of the connotation of CMM, some enterprises blindly pursue the market effect of sensational, in order to obtain the so-called "international market ticket", not a solid enterprise software engineering ability to improve, purely for the sake of the level and over, through evaluation, All the development process is basically back to the original state, completely contrary to the thinking of the CMM.
Most companies want to improve their software engineering level through CMM, but they can't do it. Among them, many enterprises in the preparation for the implementation of the CMM in the early days, by its cumbersome process and high cost of the scare. Each enterprise that adopts the traditional method to implement CMM certification needs to "make a fuss", first of all the company's training; then, stop the project to fill the document; Finally, prepare all kinds of questions and answers, prepare to respond to the assessment of the question at any time, make the whole enterprise not peace. Because even the CMM two has nearly hundreds of practice requirements, that is, everyone training for one weeks, he still difficult to remember these operations. A short time to participate in CMM training, one of the most prominent characteristics of the people are confused, do not know how to implement, as if before the development of software has some experience, after the training, completely overwhelmed, not to mention these management requirements organically integrated into a project.
The consequences of this practice can be imagined, which is why many enterprises after the assessment, and back to the original reason. In a word, the traditional CMM implementation methods require a step-by-step, not only a long cycle, a high level of personnel and funding requirements, and the implementation of the effect to maintain a great difficulty. Therefore, how to implement CMM effectively and improve the productivity of software is a difficult problem to be solved urgently.