Agile outsourcing project series 4: rational selection of quality management level (1)

Source: Internet
Author: User
Document directory
  • Quality Control
  • Agile Quality Control

The fourth article in the agile outsourcing project series (topic directory ).

Industry Problems

Cmme has not been on fire recently. One of the reasons is that SEI has discovered that many companies in China and India are making fake assessments, especially high-level assessments. To this end, SEI has been reviewed at level 4 or above.

Why are so many enterprises scrambling to compete for a higher level? I want to prove my high quality.

In software outsourcing, or project development (rather than product development), the progress, quality, cost, and demand factors may have limited final effects, however, their investment may be unlimited, but every factor operates in a log curve. Even if you invest 10 times of manpower and material resources, it only doubles.

Therefore, before investing, you should ask yourself: Which is my ultimate goal?

In the field of software outsourcing or project development, cost is the ultimate goal.

BecauseThe ultimate goal of outsourcing or project is to tradeIt is a process of purchasing manpower with money. If the cost exceeds the contract amount, no matter the progress, quality, and needs, the essential goal of the transaction has been hurt, both parties will pay the price sooner or later.

Therefore, both parties should properly select quality levels to control costs.

By the way, the ultimate goal of product R & D is to provide functions (that is, the requirements in project development), and the remaining three serve them.

Quality Management Level

There are roughly the following quality management activities, and the corresponding quality management level can be reached due to the implementation of these activities:

Quality Control

Process and product quality assurance

Quality definition

Quantitative Quality Management

Root Cause Analysis and Defect Prevention Causal Analysis and Resolution

Quality Control

A typical case for implementing quality control is that there are basic software testing behaviors that correspond to level 1 of CMMs (a level that has been described but not defined in the CMMS model ).

Why is it control? Because the test activity occurs after the product is completed, it cannot directly improve the product quality, but it can check the bad parts of the product. In the manufacturing industry, nonconforming products will be thrown away after detection, and the software industry will return the nonconforming products and modify them again.

Quality control has limitations:

1. Limited effect

Just as we do not want to buy a car or home appliance that has been "repaired", the software that has been "modified" has problems, because most of the defects are not isolated incidents, it is a manifestation of low overall software quality.

2. High Cost

It would be very painful to know the quality of a car only after it is fully installed. Once it is known, it can only be discarded or completely disassembled for repair.

Software testing is exactly like this. Before the software can run, it cannot be tested. However, detecting and discovering the defects are two different things. We must re-"split" the software with the naked eye, to find the root cause of the defect.

Agile Quality Control

Continuous integration and automated testing in Agile development can effectively reduce high costs becauseContinuous integration greatly accelerates the installation and splitting Processes.

The accelerated installation process is easy to understand. Why does it mean that the process can be accelerated?

Due to the continuous integration, very few codes are installed. Once a problem is detected in the test, it is easy to judge where the problem exists, that is, the newly added code, or at least because of the code, you can quickly locate the problem.

This is much faster than testing when the final product is formed.

However, sinceContinuous integration is used to solve cost problems, so do not invest too much manpower in continuous integration itself, Ask yourself some questions to determine whether continuous integration plays a role, for example:

1. is the length of the project long enough to require continuous integration in the middle?

If there is only one month, it is estimated that the disassembly speed may not be worse after one month.

2. Even if continuous integration is required, how often and to a certain extent should we perform integration and testing?

Do not be agile for agility.

3. After integration, have you invited the customer to observe the current product to propose improvements?

Some improvements may not be code defects, but may be demand defects.

4. Is there any phase III and Phase IV of this project? Do I need to build a better continuous integration and testing environment?

5. Are there multiple customers in this project? (Almost productized)

This affects whether a large environment is required to set up multiple customers at the same time, so that after modifying the underlying layer for a customer, you can quickly check whether other customers are affected.

......

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.