A management method to ensure the quality of software development

Source: Internet
Author: User

The difference between software development and other manufacturing industries is that the cost of software lies in R & D, rather than manufacturing. The manufacturing industry can have an existing model for pipeline work, greatly improving the quality of products.

Although software has such inherent characteristics, I think it is still possible to manage software development through the management experience of the manufacturing industry. In particular, software is not limited by many material conditions, so there is a lot of room for play.

How can a product be referred to as a high-quality product? I think the following conditions should be met:

1. Meet the needs of consumers (functional)

2. Robust

3. High Efficiency (reflecting competitiveness)

In fact, traditional manufacturing requires a new product, which is not easier than software development. First, we need to design ideas, then modify them step by step, promote the market, and so on. No matter which stage, if it is software development, it will save costs, because software deployment is much easier than hardware deployment techniques. Because of this, we should maintain confidence in improving the quality of software development.

To improve the quality of software development, we must first implement an appropriate development process.

In the past, there were waterfall models and agile models. Although they have their advantages, they are often not popularized in actual work. Why? Because there is no specific implementation mechanism and the management does not understand and promote this in the team, this is very different from the manufacturing boss. China's software industry is new-born, heroic, not industrialized.

The management has no idea about development and relies entirely on some high-end developers, which is the root cause of the problem. To change, we must first combat heroism, establish mechanisms, rather than relying on personal experience (although mechanisms are based on experience ).

The Mechanism is to express some vague processes in words and quantify the implementation methods. McDonald's and KFC's success is not because they have many cool-B chefs, but because they can sum up the experience of a cool-B's chefs and develop a reproducible process. This is difficult. McDonald's in China cannot make a unified taste.

It is easy to make a good product, and it is difficult to make many products of the same level, which is the essence of industrialization.

The essence of the meaning of product quality assurance is to establish a scientific production process. In addition, we should improve the quality of software products with the attitude of the manufacturing industry.

First, you must understand the relationship between producers and consumers:

Production is to satisfy consumers.

It is not a product or garbage that cannot satisfy consumers.

Therefore, from the perspective of the production relationship, the relationship is as follows:

<P $1 $2 $3 $4 $5 $6>

The producer wants to serve consumers. But how can we serve consumers? Although we rely on our own development knowledge and so on, these are true, but the key to production is not only internal factors, but external factors deserve more attention. This is the production condition and premise. What are the prerequisites for production? You need to know what the consumer needs.

If you think of producers and consumers as two stages of the production line and come out with the final product, you will find that the so-called consumers are actually in the first stage of the production line:

Without the "consumer" output, there will be no "producer" input and no final product will come out. The production relationship of any enterprise is not that simple. In fact, many production personnel are required to form a long production line. However, the relationship between each two production units is inseparable. So let's generalize them here:

Unit B depends on the output of A. For any B, he should ensure that A's output conforms to his own requirements, that is, he is the consumer and the boss. I separated AB with red lines, representing input and output respectively. To succeed in a production process, we must first pay attention to input. input is not strict, poor, and output is doomed to be inferior. The output of B itself is ensured by the subsequent C. As mentioned above, the so-called quality is to meet three conditions: functionality, quality, and performance. If B can fulfill its supervision obligations, a successful production process will come out.

How can we improve the supervision level of B?

B actively supervises A because B depends on A's product output, which is A natural constraint. However, B also needs to improve its ability to judge product quality. How can we improve product quality? It is not easy in other production lines, but in the software development production line, I think the answer can be very direct, that is, the test code. Every B writes test code for A, but A does not pass. Naturally, it should be rewritten.

There won't be only one production line in the enterprise.

A software company should have three production lines:

1. Design Production Line

2. coding Production Line

3. Manage Production Lines

The design production line connects external consumers and starts from consumers to end code personnel.

The difficulty of designing the production line is just as scattered. In addition, the more backend production processes, the more people involved, the more pressure on management. Consumers-> framework designers-> middle-level designers-> coding directors-> code owners, will become more and more complex.

The coding production line is composed of the end members of the design production line, which is complex in itself.

The task of managing production lines is to track quality problems in the production process and collect production data to truly improve the production structure.

Summary:

To improve the quality of software development, we should first focus on the development process, and the development process should focus on the general development links. The so-called interlocking and general links will naturally come to the fore.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.