Research on Application of Quality Control Model in Software Project Management
Abstract: Starting from the two major elements covered by the "quality" concept (relativity of quality and economics of quality), the importance of software quality management is systematically discussed. Combined with the maturity model (CMM) of the software organization capability process, two quality management control models are listed: one is the convergent control model; the other is the feedback control model. By establishing a control model, managers can use scientific methods in quality management to make their decisions effective, and try to avoid irrational factors in management. At the same time, it analyzes the different performances of different enterprise applications divided by the CMM maturity in the convergence model. And specifically on how to establish a feedback control model, the brainstorming method was introduced. Through the rational application of the quality management model, we will make the software project management effective and practical.
Keywords: quality relativity; quality management; maturity model; convergence control model; feedback control model; brainstorming However, while many companies continue to introduce new technologies, the management concept of the software industry is relatively lagging behind, and the production mode similar to the hand-shop mode remains, and the "software factory" has become an elusive target. In response to this, companies are eager for senior software project managers, trying to improve their internal backward management model. Some successful software project surveys show that effective software quality management plays a vital role in the project, and even has a profound impact on corporate management and corporate culture.
First, the two major elements of the quality concept Philip B., a well-known American quality management expert. Crosby introduced the concept of "zero defects" in 1961 and was called "quality revolution". In 1979 he published the book "Quality is e", which expounded his new quality management ideas, and believed that "quality is in line with demand". After decades of accumulation of software development ideas, the concept of quality has continued to deepen. Crosby's quality definition is expressed in a more precise and practical way: quality is relative to a certain person the value of. This definition clearly puts forward the relativity of quality, and it also clarifies the nature that quality cannot exist without people. These advances are very important for us to face up to the quality problems that actually occur in software development.
The relativity of quality can be explained as one user thinks that the quality of a software product is completely passed, while another user may think that the quality is not completely passed. The definition of quality carries human emotion factors, because it is through a series of people's decisions to determine who needs to be heard and which of these opinions are relatively important. However, most people are not aware of the irrational factors in quality. At the same time, software developers also hope that quality management can be absolutely rational, which is why quality management is often in the form without actual results. The use of reason to make judgments and decisions in quality management is the purpose of this article.
There is another element worth noting in the concept of quality, and that is the economics of quality. According to Crosby's definition of quality, the cost of "fitting demand" is the cost of doing things right the first time, which is always the most economical. The cost of "non-compliance" is that it must be remedied to cause the company to incur additional expenses, including time, money, and energy, which results in quality loss and a corresponding increase in cost. Therefore, the economics of quality was raised by software development managers. So time, cost and quality are often compared in project management. So how to find a satisfactory model in the three aspects of time, cost, and quality, and adhere to this model and continue management? This is the ultimate goal of quality management.
Second, software quality management and software process capability maturity models
Software quality management is a variety of decisions made by managers after a series of measurements on software quality, to make software products meet standards within time and cost. Software quality metrics are a subset of software metrics that lie in the quality of products, processes, and projects. Crosby researched the production process of most organizations according to the quality of the products, and for the first time put forward the idea of the maturity process stage. Radice et al. Promoted Crosby's hierarchical division of quality planning methods and applied it to software project development. A maturity model was established for the development process of software organizations, including five levels of process maturity (CMM). Although this model is targeted at software processes, it is actually applied to quality processes and quality management standards in the software industry.
(1) Initial level. This level of characteristics: disorderly; costs, schedules and quality are not measurable, and there is no quality management.
(2) Repeatable verification level. This level of characteristics: mechanical and orderly; start to control costs, schedule and quality, informal quality management.
(3) After defined levels. This level of characteristics: qualitative; conscious control of costs, progress and quality; informal quality management evolves towards formal quality management.
(4) Get the level of management. Features of this level: quantifiable; reasonable statistical control over cost, progress, and quality; formal and effective quality management.
(5) Optimized levels. This level of characteristics: stable and sustainable development; laid a good foundation for software production automation and continuous improvement; mature quality management.
Each maturity level provides a cornerstone for continuous process improvement. Each level contains a set of process goals. When the goals are met, some important components of the software process can be relatively stable. Each time a level of maturity framework is reached, a different component of the software process is established to ensure the continuous growth of the process capability of the software organization. Although these five levels have evolved from front to back, it does not mean that the software organization at the first level is useless, and those who reach the highest level can sit back and relax. The real significance lies in how we recognize our own form in the actual software project management, and through the establishment of a quality management model, we transform to a higher level model, and even an organization that has reached the fourth or fifth level should also From time to time, management models are built to predict problems that may be encountered later. Because the five-tiered evolution of CMM is not just one-way, reversal also often occurs. Therefore, building and controlling the model in the current form is one of the methods for each software organization to evolve to a higher level or maintain advantages.
Three control modes in quality management
1. Convergence control model
In software project management, changes in the needs of users and the way software is developed are constantly ongoing, so software quality is more like a goal in motion. Quality management is like shooting at a moving target, and the usual method is to gather. The convergence control model is that whether the target is moving or not, the more methods are used, the greater the possibility of achieving the target.
Software organization applications at the initial level are more like a natural choice. At this level, there is no effective community for adopting centralized tool development, nor any integrated method for evaluating or publishing tools. Various tools are simply disseminated from this programmer (or development team) to another programmer (or development team), and the dissemination process is entirely determined by the random communication between individuals. As the environment continues to change, various methods must be tested. Although the convergence control strategy based on natural selection can ensure the adaptability to different environments, such a process is not only expensive but also takes a long time. Unlike natural selection like software organizations at the initial level, organizational leaders at this level actively intervene and proactively adopt a converged control model. But organizational leaders at the repeatable verification level, despite realizing that quality management is useful, are reluctant to invest time and cost to achieve quality management. Even if you are willing to spend time and cost to manage, you do not understand the real goals and values behind its management. It's more routine in a positive state. At this level, it can be said that the natural selection-like component of the convergence strategy has disappeared. Although artificial convergence control is sometimes not so clear about its purpose, it will still get good benefits within a certain time and cost.
The software organization at the optimized level will consciously apply the aggregate control model, and will definitely use the aggregate control model to improve the efficiency of quality management. For example, a software company provided several corresponding software to the government transportation department, and formed a team to evaluate these software. This group applied the software to all practical occasions for testing, and then selected one or two of the best ones to recommend to the transportation department. This method is used to continue screening until one of them can be the most suitable. This is the most basic method of convergence control model. Convergent control models are applied at any level, but they are applied in different ways. Regardless of whether you consciously apply a converged control model for quality management, it shows that as long as you are willing to pay for constant attempts, you can always get the software system you want. This is the most practical method, and sometimes the only one that can be thought of.
2. Feedback control model
As mentioned above, software quality is like a target in motion, and the feedback control method is produced by studying how to improve the hit rate of a target in motion, and it has existed for a long time as a practical engineering model .
In this model, the controller can measure performance (that is, the arrow from the system output to the controller), and then decide how to control the next step based on the results of the measurement. Therefore, in a certain sense, the essence of management is the controller's behavior. In order to be able to carry out quality management on an engineering project through feedback control methods, the task of management is to control the process of producing the required products. The manager first plans the output and then monitors the actual progress. According to the deviation of the actual situation from the original plan, the manager will decide what specific measures to take and return to the control process as feedback. However, in actual control behaviors, some mistakes will still be made, such as lack of prior plans for the final results, ignorance of the actual progress of the project, failure to compare observation results with targets, and failure to take corresponding measures to make the The process returns to the scheduled track and so on. To avoid these mistakes, project managers need to include other elements in their work. To plan, managers must understand what they need. How to get them; in order to be well observed, products need to be visible and stable.
When establishing a feedback quality control model, mathematical methods such as statistical control and measurement analysis need to be applied. Deming is a consultant who applies statistical methods to quality control. He said: "Statistical quality control is a practice of statistical principles and technology. This method can be used in all stages of production as well as maintenance and service. Its purpose is to meet economic needs." Such as SPC (statistical process control), brainstorming Methods, fishbone diagrams, PARETO principles, hierarchy diagrams, and other methods are some of the basic methods of statistical control theory and measurement theory. The common steps of Brainstorming can be summarized as follows: determine the quality problem; find out the factors that affect the quality problem as much as possible; find out the relationship between the causes, and use the causal relationship with arrows on the cause and effect diagram to connect ; According to the degree of influence on the results, mark the factors that are considered to have a significant effect; mark the necessary information on the cause and effect diagram. This method includes two activities: one is to use brainstorming to find the cause; the other is to systematically organize and categorize the causes, and then sort them out according to the hierarchical relationship between concepts to represent the relationship between the quality fluctuation characteristics and their potential causes. chart.
According to this action diagram, it can be converted into a whole set of equations at the same time, and a corresponding mathematical model can be established. The method is as follows: first replace each arrow with an equal sign. If a node is pointed by at least one arrow, an equation can be established, and the number of measurements corresponding to the node will be placed on the left side of the equation.
For example: relative progress = F () The meaning is that relative progress depends on some other measured value, where each value corresponds to a starting node of an arrow pointing to the node. It can be concluded from the figure: relative progress = F (productive workload completed, workload to be completed).
In the action diagram, arrows with black dots indicate that these actions are reversed and are represented by mathematical operations such as subtraction and division. As shown in the figure, the function F is a subtraction operation: relative progress = completed productive workload-workload to be completed.
In addition, in order to determine the specific form of the equation, some actual measurements must be made and corresponding estimates made. After the symbols of all relations are converted as above, a set of equations can be obtained, and these equations also describe the system conditions represented by the action diagrams accordingly. It is worth noting that these equations are sometimes linear and sometimes non-linear, and non-linearity is the main culprit that leads to deviations in quality management. However, many software project managers often ignore the non-linear factors in the feedback control model. In reality, there are many external factors that interfere, so that the linear component in the model is only an ideal state in most cases. Taking the above figure as an example, "relative progress" is determined by two factors: "productive work completed" and "work load to be completed". However, reaching a certain point in time (the critical point), the more "work to be completed", the more it will affect "complete fruitful work", and then indirectly affect "relative progress". (Source: Project Managers Alliance)