Improvement of individual software process

xiaoxiao2021-03-05  28

With the popularity of software engineering knowledge, software engineers know that to develop high quality software, we must improve the process of software production. Currently, the industry is recognized by CMU / SEI's software capabilities, SW -CMM is the best software process, and CMM has become an actual software process industry standard. However, although CMM provides a powerful software process improvement framework, only tells us "what should be doing", but did not tell us "what should be done", did not provide specific knowledge and skills required to achieve critical process domains.

To make up this lack, Humphrey hosted the development of the individual software process (PSP). PSP is a self-sustained 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 is relatively independent with specific techniques (programming language, tools or design methods), which can be applied to almost any software engineering task. PSP can explain the principle of individual software process; help software engineers make an accurate plan; determine the steps to improve product quality to improve product quality; establish a benchmark for the improvement of metrics; the changes in the ability of software engineers.

There are 12 PSPs related to PSP in 18 key process areas of the CMM1.1. It is statistically related to 70% of software project development costs depending on the skill, experience and work habits of software developers. Therefore, if a software developer can accept PSP training, the upgrade of the unit software ability maturity is a powerful guarantee. CMM focuses on the macro management of software processes in software companies, facing software development units, and PSP focuses on micro-optimization of software processes in the enterprise, and is facing software developers. The two support each other, complement each other, and it is not possible.

According to the PSP procedure, we need to clear the quality goals, that is, the software will meet the requirements and the user's potential demand. Then, the quality of the product is not good. The goal is not only a principled thing, but it is not convenient for actual operation and judgment. Therefore, the target must be decomposed and measured, so that the software quality can "measure". Then understand the current process, find the problem, and adjust the process. Finally, the decomposed process, metrics, compare the results, find the gap, analyze the reason, and continuous improvement of the software process.

Like the ability of CMM to provide a stepped evolutionary framework, PSP has also provided a stepped evolutionary framework for individual capabilities, with a step-by-step approach, and each level contains a lower one. All elements in the level and add new elements. This evolutionary framework is a good way to learn the basic concepts of the PSP process. It gives software personnel metrics and analysis tools to clearly recognize their performance and potential, so that they can improve their skills and levels.

The PSP evolutionary framework has four levels.

Individual metric process PSP0 and PSP0.1

The purpose of PSP0 is to establish an individual process baseline. Through this step, learn the relevant data of various table acquisition processes of PSP, which is executed at this time is the current process of the software development unit, usually includes planning, development (including design, encoding, Compilation and testing) and the three stages of the rear processing, and to make some necessary questions, such as the measurement software development time, according to the selected defect type standard, the number of defects introduced by metrics, etc., used as the number of defects, etc. Measure the reference in the process of PSP.

PSP0.1 increases three critical processes of coding standards, program scale metrics, and process improvement recommendations, wherein process improvement suggests that the table is used to record problems in the process, solve the problem and improve the process of improved the process. The quality awareness and process awareness of developers. It should be emphasized that techniques must be understood and learned to use unqualified planning and metrics in the PSP0 phase. Design a good form is not easy, you need to accumulate experience in practice to accurately meet the desired needs, which is the most important thing to maintain data consistency, usefulness, and simplicity.

Individual planning process PSP1 and PSP1.1

The focus of PSP1 is an individual plan. It introduces an estimated plan method probe (proxy based estimating), using its own historical data to predict the size of the new program and the required development time, and calculate the estimated parameters using the linear regression method to determine the confidence interval. To evaluate the credibility of the prediction. PSP1.1 adds plans to tasks and progress.

In the PSP1 phase, you should learn to prepare a project development plan, which is not only important to undertake large software, but it is necessary to develop small software. Because, only the ability to evaluate your ability can make more accurate plans to accept and complete the tasks of the customer (customer). Bamboo

Individual quality management process PSP2 and PSP2.1

The focus of PSP2 is the individual quality management. According to the defects of the procedure, the design review and code review (sometimes known as "code takes") in accordance with the test list (sometimes referred to as "code walk"), so that the price of the repair and lap is minimized. With the accumulation of personal experience and technology, we should also learn how to improve the test form to adapt to your own requirements. PSP2.1 discusses the design process and design template, introduces design methods, and provides design templates, but PSP does not emphasize what design methods are selected, and emphasize design and complete design verification technology.

An important goal of implementing PSP is to learn the problem of procedure defects caused by people's negligence in the early actual and objectiveness of development software. People look forward to obtaining high quality software, but only high-quality software developers and follow the appropriate software process can develop high-quality software, so PSP2 introduces and emphasizes design review and code review technology, a qualified Software developers must master these two basic technologies.

Individual circulation process PSP3

The goal of PSP3 is to extend the production efficiency and production quality of the individual development applet to large programs; the method is to use a spiral rise process, ie iterative incremental development method, first decompose large programs into small modules. Then, the process is then developed according to the process described in PSP2.1, and finally integrate these modules into complete software products.

The application of PSP3 development large software systems must adopt incremental development methods and require each increment with high quality. Under the premise, in a new round of development cycles, the method of regression test can be used, and the power is concentrated to investigate whether the added (these) increments meet the requirements. Therefore, strict design review and code reviews are required in PSP2, and strive to follow the design end quasi-design in PSP2.1.

From the summary description of the individual software process framework, it is clear that how to make project planning and how to ensure product quality is the most basic problem in any software development process.

PSP can help software engineers use the principles of the process on their own, with some of the metrics and analytical tools provided by PSP, understand their skill level, control and manage their own way to work, and make their own daily work. Program and predict More accurate, more effective, and then improve 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. The PSP software engineering procedures provide software engineers with a structural framework for developing personal skills and methods that must be mastered. In the software industry, if the developer will only be gradually grasp these skills and methods by practicing in the development, this is not only a long period of time, but also has a big risk. There are many ways to train, or you can go to specialized school training, you can also conduct self-study and training courses, such as: CMM network school has a course of individual software processes.

转载请注明原文地址:https://www.9cbs.com/read-33938.html

New Post(0)