Release judgment others・Product quality is important for software quality

07/05/2018Release Judgment

Product quality takes precedence over process quality in release decisions

In software release judgment , quality is judged by dividing it into product quality and process quality . Then, when it comes to release judgment, whether process quality or product quality should be prioritized is, of course, product quality. Process quality is an important part of software development. The idea of ​​always making products with good quality by improving process quality is the method used in the world of quality control such as CMMI and ISO9001 . However, Gutara’s father always placed more importance on product quality when making a release decision.

What do you mean? In the sense of Father Gutara, the priority in determining software quality is product quality = test quality> design / implementation quality> process quality . It means that the process is not so important because the quality of the software depends more on the test and design / implementation. 

The quality of hard products depends largely on the manufacturing equipment

It’s a little off topic, but Japanese manufacturing factories, which are good at making things with good quality, focus on the process to improve the quality. The process at the factory is the maintenance of manufacturing equipment, the work procedure of the process performed by humans, or the so-called manual work. Making good work procedures and working without fail according to the work procedures so that anyone can do them correctly is to make things with good quality.

In the current manufacturing factory, people rarely make things . What actually makes things is a machine called a manufacturing facility . Various manufacturing equipment manufactures products at manufacturing plants, such as mixing plastic raw materials, shaping them into shapes determined by molding machines, and soldering parts to electronic boards . And it is the person 's job to maintain / operate these manufacturing facilities so that they are always in good condition .

The important thing to avoid making mistakes in this maintenance / operation is the work procedure , that is, the process . Determine the procedure for routine work and follow it. Even when an abnormal situation occurs, take necessary measures according to the procedure manual. Only when such a work procedure = process is properly completed will the manufacturing equipment operate efficiently and a high-quality product will be completed. Therefore, the quality of the process is very important for the quality of the products produced in the manufacturing plant .

On the other hand, the quality of products made in manufacturing equipment is greatly influenced by the capacity of manufacturing equipment . For example, if there are equipment that cuts metal with an error of 0.1 mm and equipment that cuts with an error of 0.3 mm, equipment that cuts with an error of 0.1 mm can produce products with better quality. Therefore, at the production factory, we will introduce manufacturing equipment that can produce products with the required quality.

In other words, the manufacturing plant buys manufacturing equipment that produces products with the required quality . Then, by using a good process, people maintain / manage the manufacturing equipment and always operate it in good condition, we always make products with good quality. Product quality = Manufacturing equipment that greatly affects product quality can be purchased and prepared.

Software manufacturing equipment is people

So what is the software manufacturing equipment ? For software, planning, specification determination, design, manufacturing, and testing are all realized by human thinking . There are various tools that help people think, but at the moment, all of them are finally created in the human mind and finally expressed as source code. At the final stage, the computer automatically does only the part called build and make that converts the source code into executable code, but the rest is done by humans.

In other words, in software development, the part corresponding to the production equipment of the factory is the person in charge of development . The person in charge of development thinks about the development work of various software from the examination of the plan to the implementation of the test, writes it out in various materials, and collates it with other people. Development progresses. Each work process is defined as a development process, but it is the person in charge of development who actually performs the work according to that process . 

Can people’s abilities vary and change freely?

And it is said that the abilities of people in charge of software development, especially software engineers, vary from 5 to 15 times . In fact, Gutara’s father also examined the abilities of his own software engineer, but there was a difference of about 5 times. Furthermore, even for the same person, the ability to develop software changes greatly depending on the physical condition and mental state at that time.

Software development requires a fairly deep level of thinking, so concentration is important . And the trouble is that the degree of mental concentration of a person is greatly affected by the physical condition and mental state at that time . Therefore, even for the same person, the software development ability will fluctuate greatly depending on the situation at that time. Simply put, if you make software when your head is dumb, it will be full of bugs.

That is to say, there are 5 to 15 times individual differences in software development ability, and even the same person’s ability changes greatly depending on the time and case, so the software development ability varies greatly . The actual software development project is to proceed with one software development because there are dozens of people whose development ability greatly fluctuates.

Like the production equipment of a factory, if you maintain / manage and operate it properly, it will not produce products with a certain quality, but only God knows whether you can do it with good quality. , The actual situation of the software development site.

Well, this is an extreme word, but at least it is a fact in the field of software development that software is not produced stably like a production factory.

There is no other way but to check and confirm

In, what should Re make a good software quality doing do you? Since the development ability of the person who develops the software is blurred, there is a high possibility that mistakes will be mixed in each work . Then you have to check as closely as possible to find and correct any mistakes .

And the specific work of this check is testing and review . Perform various purposes and types of tests on the completed source code to find bugs. For planning, design, and implementation work, do design reviews and code reviews to find mistakes in the work. Make sure to fix any bugs or reviews you find. It is important to thoroughly carry out this test and review .

After all, in order to improve the quality of software, it is most important to thoroughly implement a large number of bugs in tests and design / implementation points in reviews. And the quality that can be measured by this test or review is the product quality because it corresponds to the quality of the product of software design and production.

Because of this aspect of software development, Father Gutara emphasized product quality such as testing and review rather than process quality when making software release decisions.

Back : Release judgment others・Annoying relationship between testing and bugs 
Return : Release judgment is the most important matter to guarantee the quality of software