Instructions for improving the quality why it is difficult for precision cribbage, "conformity" is not the quality of quality - unless you accept a non-traditional definition of demand. This story also explains that the quantity of the error is also unfained - this aspect is:
The so-called quality means there is no error.
Although this type of definition is unbearable, many years have always been the mainstream understanding of high quality software. Under this assignment, software developers and their compensants have attracted the requirements of improving software quality. Don't they be willing to improve the quality? Even if anyone else makes this requirement, even if it is just to meet his own self-respect, should they do this? There is no doubt that they are reluctant to increase quality, but the fact is not that - what is the reason? "Not bad" effect CozyWrite and Cribbage are just two typical stories, I can also raise such an example of hundreds of things; I don't doubt it, you can also give a lot of examples. If you ask software developers: "Do you have to be interested in high quality software products?" I dare to be sure, they will reply, "Of course!" However, suppose you to specifically Asked about the improvement of Cozywrite or Precision Cribbage, the developer will answer: "But it is already a good product. It is indeed a mistake, but this is a natural thing, all software has problems. And (Since the user is willing to buy it, it will explain that it will always be better than the competitor. "Naturally, the following three sentences can be proved: 1. Users are indeed using their software products And there is a very happy, so this product is high quality; 2. No software is not wrong (at least we can't prove the reverse side); 3. The user is to compare each other, and then determine the purchase. This shows that users think it is relatively better. In this environment, the developer does not have much enthusiasm to improve the quality of the software unless there is a driving force from the outside world. For example, if the user is no longer used or no longer bought its software products, the developer may decide to improve the quality - but may have been too late. If there is a more efficient competitor of the management system, then companies that have sold the software have only fade out of the market. But for those internal software development departments that serve a larger enterprise, they have little competition, so the prospects of this department are destined to be gradually depressed. Whether this kind of depression is important, depending on the definition of "quality" on its upper level. If the upper company can get the value they need, and do not know that there is a better way, this depression will continue. However, once the upper layer of the company has begun to be dissatisfied, the crisis will happen. "This is impossible" effect Do you know, if you have eight feet six inches high, you can be hired by the NBA team as the first center, and so you can earn $ 3,000,000 each year? Now you already know this, then why don't you start an increase in the height? This kind of questioning is kind of childish, because you don't know how to make yourself a few feet. Do you know, if you can reduce the number of errors in your software, you will not exceed one in each million lines, your software market will increase $ 3,000,000 a year? This kind of questioning is also kind, and you don't know how to reduce the number of errors in your own software, no more than one. Philip said in his "Quality IS Free" 5 book, the enthusiasm of improving quality is always from the price of quality (I prefer the value of "quality", although the two means exactly the same) analysis.
In my consultation experience, I often have to talk to the president of the project, and they are worried, mostly because they try to reduce the development cost of software, or shorten the development cycle; but I am very young. Which of the competent is increasingly increasing. They don't have to be big and hurt, and they can easily tell me to do it in order to cut costs or accelerate progress. However, for improving the value of software quality, they seem to have never considered past assessment. . And when I suggest that they evaluate the value of quality, their usual reactions make me feel that I am like telling them to grow up to eight feet six inches - for them, improve quality is " Tamashan is working in a superbaihai. Since I don't know how to achieve this goal, why should I be self-satisfied because of the assessment of their value? Even if you know how to evaluate, since we don't agree with this value, what else is it necessary to achieve it? Figure 1-3 shows the process of this malignant cycle. Here, the form of action is used, and I will explain this chart later and will use it in this volume. Now, let us pay attention to how it explains how to improve quality work is struggling. Figure 1-3 A malignant cycle, which leads to development organizations to increase the quality of the software quality to the explanatory benevolence of the chart in Figure 1-3, may result in optimistic conclusions, and may also get pessimistic conclusions. From an optimistic point of view, this chart shows that once the development organization began to understand the true value of the quality, the enthusiasm of improving quality will increase, and it can promote it better understanding how to improve the quality, and finally Better understanding the value of quality. The reason why CROSBY will pay for quality analysis is here to reform the administrative mechanism of the development organization. Despite this, from pessimistic perspectives, this cycle can understand an obstacle effect, which hinders reforms with higher quality. If you cannot realize the value of quality, the enthusiasm of achieving quality is the wood; in turn, the understanding of the method of realizing quality is not talked. Since even the way to achieve quality is unclear, what is the meaning of assessing its value? Locking Effect Fig. 1-3 is also exactly an example of a locking effect. A locked system will try our best to keep ourselves in an existing mode of operation, even if there are many reasonable reasons to change it, the system is still me. About locking phenomenon, the best example is more than standard programming languages. Whether it is because historical reasons, once a company is now using a programming language, then take a bigger price to make it replaced into another language; when trying to examine the value of other replaceable languages, The enthusiasm of the company also declines at the same time; therefore, it is impossible to know how to replace programming languages at all. The consequence is that the company will die in the language of the currently being used - this is like the rules that choose the vehicle left or right driving, different countries will adhere to their existing conventions. In this book, we will see many examples of locking situations; however, we must first pay attention to the fact that the lock occurs in the chain. If you lock in a specific programming language, you are also likely to be scheduled to be all or part of the following: a complete set of software tools that support the programming language support the language of certain non-standard variants of the language Some specific school training Human resources from other human resources hired by other specific enterprises, a group of consultants in this language and their tools, by other users of the programming language, a group of groups that use the programming language by reducing language step-by-step promotion The supervisor facing the programming language and the technical training and the basic theory of software engineering corresponding to the programming language and the basic theory of user interface corresponding to the programming language, the basic theory of the user interface, which will be kept in turn to lock its follow-up factor.