The development of software industry in the United States can be seen in the software industry has structured production (1975-1995), process-centric production mode (1985-2005) and industrialized production (1995-today) and other three stages of development.
The present situation of software organization in China can be summarized as following three aspects: first, our country is moving from the structural mode of production to the process-centric mode of production and the industrialized way of producing. At present, many enterprises (whether state-owned or private-owned companies) have recognized the need to improve the software process and implement scientific and systematic management in order to improve the Organization's software capability maturity, which shows a strong motivation to improve the self. Second, there are still some difficulties on the way forward, for example, some organizations want to improve their capability maturity through ISO9000 and CMM, but they are unfamiliar with the concept of CMM, and do not know the difference between CMM and ISO9000. Most software organizations are weak in both theory and practice, although the software process has been established, but the process stage is not obvious, the software production disorder, the progress, budget, quality prediction and control is not effective, often in the face of problems to abandon the original plan, pay attention to programming and testing, ignore requirements analysis and framework design. High-level management has not attracted enough attention to software management, not enough resources or qualified personnel to undertake process improvement work. Third, there is a lack of documented process descriptions, especially in the absence of working documents (such as process change request reports), workload statistics documents (such as time and workload tables, weekly status reports), and risk management documents (such as risk estimate reports, risk assessment reports). The lack of measurement of processes and products and the paucity of historical data on the software process make it difficult to estimate the workload and schedule based on historical data. Each software organization should be based on the current state of understanding, according to the CMM standards to identify gaps. The gap is not mature enough, it is also the place to improve software process management.
Software Process Improvement is a work technology that contains a lot of management components, it mainly consists of the following three key steps: Comparing current state and desired state, identifying gaps, determining which gaps to change, how far to change, and formulating specific implementation plans, where "specific" means: to have a clear, A target that can be tested; To define the criteria for success or failure, to have specific implementation measures, to designate specific implementation plans and to identify specific responsibilities and tasks, and to identify the main leadership or coordinator of the implementation plan to address problems arising in the implementation of the plan; To list the implementation plan The new technologies and tools used and how to acquire these new technologies and tools.
The software industry in China is in the ascendant, the implementation of CMM can change our software engineering culture at the starting line, improve the quality of personnel, not only important to our economy, but also the prerequisite to improve the quality of software enterprises, enhance the international competitiveness of software enterprises, and create conditions for the export of software. CMM is a better software improvement framework, but the CMM only gives what to do and does not give a way to do it. Therefore, we should seriously study how to follow the CMM model to carry out the specific operation of the problem.
In order to better understand CMM, improve the process management ability of software organization, through CMM evaluation, based on our research and evaluation practice of CMM, the following suggestions are given: top management should focus more attention on process improvement and set up a full-time team of process improvement. This is because process improvement is the change of ideas and working methods, the transformation of corporate culture, it involves most of the staff in the enterprise. On the other hand, because the process-centric is one of the three pillars of software industrialization, only by attaching great importance to, strengthening research, learning and practice can we make the software production move towards industrialization.
In the software process improvement should be equipped with the necessary resources, to establish a considerable scale of the improvement team, investment should be sufficient strength. Within the organization, the first step is to establish a software engineering process group (called SEPG), responsible for the process improvement tasks, and select qualified personnel to serve as a full-time SEPG leader. According to the foreign experience, generally need to account for the development of resources in the software organization 5%~10%, according to the evaluation practice of nearly 1800 organizations in the world proved that the effectiveness of CMM evaluation is 4 times times ~8 times of input.
Establish appropriate organizational structure, research software engineering theory and process improvement methods, responsible for the development and implementation of process improvement plans, they are the implementation of enterprise assessment activities of the specific organizers. During the execution of the plan, be careful to check its compliance and, in the event of deviations, investigate the cause and take corrective action, which is the internal evaluator of the enterprise's periodic process diagnostics and the monitor of the enterprise process improvement activities.
In order to strengthen the training work, we should have a high quality director assessor, a considerable process assessment team and a large process improvement team. To realize that only high-quality personnel, the implementation of a mature good process to produce a good product, should be generally carried out CMM and Software Engineering Foundation training, so that each post personnel have the awareness of process improvement, and master the necessary process to improve knowledge and skills.
Measurement data is the foundation of process improvement, and the process of process and product measurement should be emphasized. During the whole development process of the project, especially at the milestone, the process data is collected and the activity status is recorded, which provides data for current project measurement and analysis, and can be retained as historical data for future project reference. These data mainly include: software size, workload, cost and progress of the estimated data and actual data, product quality measurement data, demand changes and risk analysis data.
Attention should be paid to the development of software configuration management and configuration management tools. The primary purpose of configuration management is to establish and maintain the integrity of software project products throughout the entire software lifecycle of a project, to systematically control changes to configuration items, and to manage the organization's software engineering assets. With a wide range of configuration management and complex rights management, it is essential to develop or procure appropriate configuration management tools.
In the development of CMM evaluation in China, we should pay attention to the introduction of intelligence, recruit foreign director evaluators to carry out process evaluation for our country, and cultivate our own competent Director assessor. This is not only because China is a potential it power, but also because CMM implementation is closely related to a country's culture. In addition, improving the software process itself is a process that requires the long-term assistance of a qualified Director evaluator. The competent departments in all walks of life should help and support the training of our own Director Assessor, and consider training the Director assessor as a new product of changing ideas and innovative knowledge. We should fully realize the long-term and arduous nature of the process improvement work. The process maturity upgrade itself is a process and has a lifecycle. Therefore, the process improvement work must have all the inherent characteristics of the process, not quick success.
In CMM evaluation work, we should promote the integration of competency Maturity Model CMM with individual software process PSP and group software process ISP, and pay close attention to the new trend of process improvement. All localities should be supported and coordinated by the competent departments of the software industry to co-ordinate the efforts of the various sectors of the community, increase the research, evaluation and implementation of software process improvement, and push forward the software industry in China. First of all, in the enterprise to establish a huge process improvement team, actively research, practice and promote process improvement work. Earnestly establish the CMM Director evaluation Team, and carefully establish the relevant courses of qualified teachers team. Advisory bodies and intermediaries for process improvement should also be fostered and established through market competition mechanisms.