Suggestions on implementation of software quality assurance system CMM / TSP / PSP's: xiaozhou Published: 2001/04/10
Thesis:
This paper tries from the software quality assurance direction, summarizes the source, content, application and significance of the CMM Software Process system / PSP (Personal Software Process) system, the purpose is to engage in software activities. All colleagues understand that understanding CMM / PSP / TSP, thereby reaching the CMM / TSP / PSP training, establishing a set of software quality guarantees that can solve current my country's software industry, and further help with software quality assurance patterns of international software markets Software companies form more advanced, more scientific, and updated management models. However, it is emphasized that we must formulate a viable solution according to its own actual situation. Key words CMM / PSP / TSP system, software process, CMM model
text:
Implementation of the software quality assurance system CMM / TSP / PSP's proposed software industry has undergone a structured production era of structural analysis and design, structural review, structured programming and structural testing in the 1970s. By the mid-1990s, the maturation model and increasing market of the CMM model and the increasing market have entered the process-centric era of the process-friendly model CMM, individual software process PSP and group software process TSP, and software Development of the third era, and software industrial production era, from the murderer and object-oriented technology of the software process technology, the development of component technology, the development of component technology, is already asgeneted, estimated to be real software industrial production This trend should cause high attention from the software business community and relevant departments, early take measures, and keep up with the footsteps of world software development. Software production stends to improve software processes, is the road in the world's software industry or late or early. Software process improvement is the core issue of current software development technology. . Low-cost development software must improve software production process. Software production stends to improve software processes, is the road in the world's software industry or late or early. The software industry has or is experiencing the "maturity of the software process" and gradually transition to "industrialization of software". The standard software process is the necessary conditions for software industrialization. The software process studies how to organize people, technologies, and tools, improve software production efficiency, and ensure the quality of software products. Theoretical Research and Practice Achievements of Software Process N International Native International Software Process: CMU-SEI CMM / PSP / TSPSO 9000 Quality Standard System SO / IEC 15504 (SPICE) CMM / PSP / TSP 20 At the 2000s, the international software industry focused on software research, because in the process of overcoming the software crisis, it was recognized that software is a determinant of software risk sizes. This research has achieved a major breakthrough, its mark is the research company, which is headed by WSHUMPHREY. This result has developed into CMM (software process capability maturity model) in 1991. The software process capability maturity model is recognized by the international software industry as a major achievement of software engineering. Software Currently, the software capability maturity model version 2.0 has been revised. CMM has a great impact in the practice of software engineering, and has been widely accepted in the industry. Not only used in military control systems, but also used for major organizations in the global economic sector. Thousands of organizations are improved in software process using CMM. In the United States, the tutorial on the CMM model has appeared as a reference and research object, which is to make the CMM model extremely related problems cause more close attention to the industry. Tools based on CMM models, such as maturity problems, software process assessment training and software capability evaluation training have gradually revised in CMM. The recent activities on CMM is mainly due to different versions of the CMM model. Since the CMM does not provide specific knowledge and skills required to implement the CMM critical process domain, the US CARNEGIE MELLON University Software Engineering Institute (CMU / SE) is headed by WSHUMPHREY, and has developed the individual software process PSP (Personal Software). Process) and Group Software Process TSP (Team Software Process) forms a CMM / PSP / TSP system.
ISO 9000 Quality Standard System The initial software quality assurance system was adopted by Europe in Europe, which was also rapidly developed in the United States and the rest of the United States and the rest of the world. At present, the European Union actively promotes the institutionalization of software quality and proposes the following ISO9000 software standard series: ISO9001, ISO9000-3, ISO9004-2, ISO9004-4, ISO9002. This series has now become a global software quality standard. In addition to the ISO9000 standard series, many industrial sectors, national and international groups have also issued quality standards for software operation and maintenance in a particular environment, such as: IEEE standard 729-1983, 730-1984, EURO NORM EN45012, etc. ISO / IEC 15504 (SPICE) CMM method will soon attract extensive attention in the software industry. In 1991 International Standardization, the International Standardization Organization adopted a motion, and launched a research and research, which has triggered a series of research work. Results, produced technical report ISO / IEC 15504 "Information Technology - Software Process Assessment", is expected to have formal standards this year. From the content of the technical report, its basic objectives and ideas are similar to CMM CMM of CMU / SEI. Currently, the academic and industry recognizes the software engineering research institute (CMU / SEI), US CARNEGIE MELLON University (CMU / SEI), is the best software process, which is the best software process, has become an industry in fact. Industrial standards for software process. Domestic Academia: China Productivity Promotion Association, North Airlines SEI, Chinese Academy of Sciences Research SEI and other scientific research institutions have been organized in Beijing, Shanghai, Guangzhou and Shenzhen, have organized several reports and seminars, organized curriculum learning and application. Experiments, launched research and development work in software process, and published many research results and academic papers, and has achieved certain results in the support environment of the software quality assurance platform. Industry: In the past two years, CMM has received more and more attention from my country. There have been many discussions on CMM. Several policies issued by the State Council, "issued by the Software Industry and Integrated Circuit Industry Development" apply for China Software Enterprises CMM certification gives a positive support, and in accordance with Article 17, "Software Export Enterprise CMM certification fee is appropriately supported." 2000 China Village Computer Festival has a CMM Strike Forum, attracting many industry insiders. Dingxin, East Alpine, Lenovo, Founder, Kingdee, UF, Wave, Chuang, Huawei, East Alpaya, etc., from 1997 to 2000, batch of enterprises in progress, experimenting or Implement a pre-evaluation. Among them, Dingxin started CMM certification since 1997. July 1999 passed the CMM2 certification of third-party certification bodies. The East Alpine Company passed the CMM2 certification of third-party certification bodies in October 2000. In January 2001, Lenovo software passed the strict assessment of the British Reuters Group, passed the CMM2 certification. Overall, the discussion and practice of domestic software process theory is being launched, and the goal is to make the software quality management and control reach the international advanced level, and China's software industry has achieved sustainable development. Experts analysis, in the next two or three years, the domestic software industry will thereon will have a climax of the implementation of CMM. From this trend, China's software companies have begun to step on standardization, standardization, and international development paths, and China's software industry has faced a holistic breakthrough era.
The implementation of the software quality assurance system is based on the development of the international software process theory and practice, especially in the research work of CMM, PSP and TSP and ISO software process standards, and domestic experts. The improvement of the process should be carried out from three aspects: o Software capability maturity model CMM (Capabilities Maturity Model) O individual software process PSP (Personal Software Process) three of the TSP (Team Software Process) each other, but Mutual supplement. CMM O has so far, so far, the best software processes related to software engineering and management practices are recognized. O provides standards for assessing the production capacity of software organizations. O In order to improve the production process of software organizations. CMM software process maturity model summary * 1, before introducing CMM content, first outline the differences in immature software organizations and mature software organizations. In immature software units, the software process is generally temporarily patchped by practitioners and their managers in the project process, and thus postponed progress and exceeding the budget have become a practice. The product quality is difficult to predict, sometimes in order to meet progress requirements, often in the product Make a concession in function and quality. However, a mature software organization has the ability to manage software, development processes, and maintenance processes within the whole organization, and the predetermined software process is notified correctly to all employees, and work activities are carried out in accordance with the planned process. And through controllable pilot test and financial analysis, these processes have been improved, and all posts and their duties in the defined process have clear description, and through documentation and training, the whole organization has defined software The process has a good understanding, so that the productivity and quality resulting from the software process can be improved over time. Table 1 shows the comparison of immature and mature software organizations, which is not only the basis of forming a software capabilities, but also contemplated the model. 2, some basic concepts of CMM (1) Software process: people are used to develop and maintain software and their related processes, including software engineering activities and software management activities. (2) Software process capability: Description (Development Organization or Project Group) Follow its software process to achieve the extent to which the expected results can be used to both the entire software development organization. (3) Software Process Performance: Representation (Development Organization or Project Group) Following the actual results obtained by its software process, software process performance describes the actual results that have been obtained, and software process capabilities describe the most likely expected results. It can also be used for the entire software development organization or for a specific project. (4) The software process is mature: a particular software process is defined and effectively defined, and the degree of management of measurement and control is managed. (5) Software Ability Maturity Level: Software Development Organization has a platform that represents the maturity of software process capabilities in the way to mature. (6) Key process domain: Each software capability maturity level includes several process domains that are critical to the maturity level, and their implementation is guaranteed to achieve the target of the maturity level. These process domains are called the key process domain of the maturity level, and there is a non-critical process domain refers to a key role in achieving a key to achieving the corresponding software maturity level. Summary as: a number of software practice activities associated with each other and a collection of infrastructure. (7) Key Practice: The principle, procedures, measures, activities, and related infrastructure are established for the key role of the key process domain. Key practice generally only describes "what to do" and do not enforce the "how to do".
The improvement of the entire software process is based on many small, gradual steps, rather than through a revolutionary innovation. These small gradual steps are achieved by key practices. (8) Software Ability Maturity Model: With the software organization definition, implementation, measurement, control, and improve its software process, the capabilities of software organizations are also gradually advanced, and the description model for software tissue evolutionary phases is completed. 3. The risk of the CMM model summary software development is due to the low software process, the most critical problem is that the software development organization does not manage its software process well, making some good development methods and technologies. Expected effect. Moreover, the success of the project is also through the outstanding efforts of the Working Group, so it is only based on the successful improvement of the success of the specific person, and the production and quality of the whole organization cannot be subjected to the basis of establishing effective software engineering practices and management practices. In terms of facilities, persistent efforts can be continuously improved. CMM provides a framework that organizes the evolutionary steps of software process into five mature levels, and lays a step-by-step basis for process continuous improvement. These five maturity levels define an ordered scale that measures the software process of an organization and evaluates its software process capabilities, which can help organize themselves for their improved work. The maturity level is exactly defined and is also a platform that moves forward to mature software organizations. Each maturity level provides a unit base for continuous improvement. Each level contains a set of process goals, reaching this set of process goals by implementing a corresponding set of critical process domains, when the target is met, an important component of the software process can be stabilized. Each time a grade of the mature frame, a corresponding component of the software process is established, causing an increase in tissue capabilities. Table 2 below shows the summary of the CMM model, and the five levels in the table have their own different behavioral features. To describe the behavior characteristics of different level organizations: that is, an organization is an activity to establish or improve the software process, the activities of each project and the process capable of occurring across the projects. Table 2 CMM Model Overview 4, the final quality assurance mode of the Software mechanism of CMM can be explained below, Figure 1 shows the software quality plan, quality control, quality improvement of a simple cycle, in fact, it summarizes the true kernel of CMM Therefore, it is possible to say that the model of CMM is an emerging management idea: a continuous improvement (Continuos Improvement). Figure 1 CMM's role N scientifically evaluated software development units software capabilities Mature level n Help software development units to perform self-test, understand their strengths and weaknesses, thus continuously improve and improve the software development process of units, ensuring software quality, and improve software Development energy efficiency.
CMM Implementation According to the basic principles, basic content and basic methods of CMM, 4 questions for CMM for everyone think: 1. How long does the process maturity take? How much is it? What kind of business is there? 2. What is the failure factor affecting the CMM-based software process? 3. Will CMM lead to excessive bureaucrats? Will the organization become more conservative, don't want to take risks? 4. There is no suitable, easy to understand the framework (not just telling "What we do", and tell "What do we do") guides all software organizations to perform CMM improvement? These questions and debates proposed in CMM have conducted some investigations, but they basically do not have this professional survey and research in this area, and then in accordance with domestic companies' understanding and increase and increase in CMM, these issues will be more Scientific solution. Now give some survey results for the above problems: Question 1: Maturity improvement level recommendations Arrangement 1 year to 2 years, the cost of domestic and foreign is too far less than a comparison. The benefits of the company give the following table Description: Question 2: The factors that affect the improvement of the process are: unable to implement plans and tracking, emergencies or dangers cause, time and resource restrictions, know what should be done without knowing how to do Resulting in. Question 3: Most (84% -96%) do not think that the organization will become bureaucratic agencies, it is difficult to innovate and don't take risks. Question 4: This requires continuous summing up experience and puts forward. In China, it is necessary to obtain the success of the process, the author believes: 1. The software process improvement must have the support and commission of senior executives, and actively manage process improvement progress. 2, the support of middle management is important 3, the responsibility is clear, the process improvement group prestige high 4, the support and participation of the participation is extremely important 5. How to use the quantitative observable data, so that the process improved as soon as possible, thereby motivating the participants 6. Enterprise cultural changes for the business of business, and requires successful process improvement, if the company has the following cases, the process improvement is definitely failed: 1. High-level leadership institutions are unclear, instead of inconsistency 2, all departments only Mutual ventilation, do not support 3, improving the process of unsuccessful process 4, project members believe that software process improvement will affect actual work, not to support software process improvement activities: CMM is not universal, its success is The active participation and creative activities of relevant personnel within an organization are unmatisfactory. CMM is the best effective description of the objectives, methods, and practices required for industrial practice of software engineering. How is the application of CMM rules in a laboratory or industrial environment? CMM is a framework that is committed to the improvement of the organization, how can the problem ensure that the CMM is effective and convenient? Did not provide specific knowledge and skills required to achieve critical process areas. Therefore, the individual software process PSP (Personal Software Process) will also be born. PSP Overview The individual software process (PSP) was developed by Watts s, CMU / SEI, developed by the University of Carnegie Mellon, USA. Humphrey leadership, in 1995, has attracted it in the software engineering industry Big sensation, can be said to be a sign of the directional software project to quantifying software projects. PSP is a self-improvement process that can be used to control, manage, and improve personal work. It is a structured framework including software development tables, guides, and procedures. PSP provides specific and effective ways to provide specific and effective ways based on individual and small group software processes, such as how to develop plans, how to control quality, how to collaborate with others.
In the software design phase, the PSP focuses on the prevention of software defects, and its specific method is to strengthen design end criteria, not the design method. According to the statistics of 104-bit software personnel who participated in the training, the total error in the software decreased by 58.0% after applying PSP, and the error found in the test phase decreased by 71.0%, and the production efficiency was 20.0%. The research results of PSP also show that most software defects are caused by mistakes or simple mistakes for problems, and only a few parts are due to technical issues. And according to software engineering statistics in many years, if an error is injected in the design phase, this error has triggered 3 five new defects in the coding phase. It is necessary to repair the cost of these defects to repair this design defect. The cost of flowers is one magnitude. Therefore, an important way to ensure the quality of software products is to improve design quality. The status quo of the individual software process PSP has been started in 1993, the United States, Europe, Australia and other places have been awarded the PSP course. o In the industry, PSP has also been promoted in companies such as Motorola, HP, AIS. O North Air Software Engineering has begun to teach PSP courses in the Department of North Airlines Science and Engineering, and organized PSP application experiments. Individual software process PSP evolution * The content PSP of the individual software process PSP is relatively independent of the specific technology (programming language, tools or design methods), which can be applied to almost any software engineering task. PSP can: (1) explaining the principle of an individual software process; (2) Help software engineer makes an accurate plan; (3) Determine the step of improving product quality to improve product quality; (4) establish a benchmark for improvement of metrics (5) The impact of the determination process changes on the capabilities of software engineers. Individual software process PSP supports environment-based "individual software process support environment" in which Northern Air Software Engineering Research, supports the definition, operation, metrics, analysis and optimization of individual software processes, support PSP in actual software development projects Support for the promotion of PSP concepts and methods, and support the quality of software staff software engineering. The role of the individual software process L uses the bottom-up method to improve the process, indicating that the principles of process improvement will make them understand how to effectively produce high quality software. l Provides specific and effective ways for optimization based on individual and small group software. Its research and practice fill the gap between CMM. l Help software engineers use the principles of the process based on individuals, with some of the metrics and analytical tools provided by PSP, understand their skill level, control and manage their own way of work, and make their own daily works, planning and forecasting more Accurate, more effective, improved personal work performance, improve personal work quality and production, and actively participate in software engineering process in organizational scope of senior management and process personnel. Group Software Process TSP Overview is committed to developing high-quality products, establish, administering, and authorizing project teams, and guiding how they continue to produce and deliver high quality products within the premise of meeting the programs. TSP guides the members in the project group to effectively plan and manage the project development tasks facing, and tell the managers how to guide the software development team. Always do work in the best state. TSP implementation of the principle of collective management and its own combination, the ultimate goal is to guide the developer how to produce high quality software products at a minimum time, and the method used is the definition of the group development process. , Metrics and improvements.
Conditions to implement TSP methods requires high-level supervisors and managers of managers to obtain the necessary resource OES, at least the second level (repeating layer) of CMM. o All software developers must pass the PSP training and have the desire and enthusiasm of TSP. o Development team members should be between 2 and 20 people. In the process of implementing TSP, we must first have a clear goal, and developers must work hard to complete the accepted entrustment tasks. At each stage, do a good job plan. If you find that you have completed your plan on schedule, you should analyze the cause immediately, to determine the problem is due to the unsuitable work content or work plan is not actually caused by insufficient resources or subjective efforts. On the one hand, the development group should track the progress state of the project and regularly report, on the other hand, should often be reviewed in the principle of PSP. Developing group members should manage their own principles to manage software, if the discovery process is not suitable, improve improvements in time to ensure high quality software with high quality processes. The project development team is managed according to the principles of collective management, and all members must participate in the development of the group, progressive tracking and decision making work. Page the number of pages of the basic metrics O of the Development Team by TSP principle. o The number of rows of the code compiled. o spends the time (in units) at each development phase or the development task. o The number of errors introduced and corrected in each development phase. o Add value to the final product at all phases. The process quality element O software design time should be greater than the software implementation time. o Design review time should at least half of the design time. o Code review time should account for at least half of the code preparation time. o At the compilation phase, there is no more than 10 / Kloco found in the test phase, no more than 5 / kloc. The software process framework for CMM, PSP, and TSP L cmm is the first step in process improvement, which provides the ability to evaluate organizations, identify management methods for improving demand and tracking improvement. If the company only has to improve the improvement in CMM, it can accept the fact that the plan is planned, recognizing the importance of quality, in order to pay attention to the employees to train, reasonably distribute project personnel, and establish a valid project team. However, its success is inseparable from the active participation and creative activities of relevant personnel within the organization. l PSP can guide how software engineers ensure their work quality, estimate and plan their own work, measure, and track individual's performance, manage their own software process and product quality. After the formal training of PSP learning and practice, software engineers can make full use of PSP in their participation projects, which will help CMM targets. l TSP combines CMM management methods and PSP engineering skills. By telling software engineers to combine individual processes into group software processes, and link the latter and organizations throughout the management system; how to support and authorize projects by telling management The group, adhere to high quality work, and demonstrate how to apply CMM principles and PSP skills to produce high quality products. PSP and TSP support for CMM * L CMM / TSP / PSP represents the most advanced results of the international software process engineering research, and they have significant significance for promoting software production scientific management and improving software production capacity. l The production process of software and many other sub-processes, software developers and users, and the use of huge changes in the use of systems, to make a software process truly help software production, its framework should It is a complete system consisting of CMM, TSP, and PSP, which is guided and supported by good software engineering and management practices from the three levels of organization, group, and individuals. All in all, simply implement CMM, can never be upgraded to the ability to maturity, only to implement CMM combine with the implementation of PSP and TSP to play the greatest effect.