Thursday, October 25, 2007

Defect Prevention

Defect Prevention

A formal software defect prevention process is the logical complement to software appraisals. In organizations that have effective defect prevention processes, defects found in the appraisals, testing, and operations are recorded and analyzed using Six Sigma techniques. The results of the analysis are use to select and prioritize categories of defects for early detection or outright prevention. The typical prevention mechanisms are changes to the standards covering requirements, design, coding, and testing. These standards changes are used to “mistake-proof” (poka-yoke) the development process in order to prevent re occurrence of the target defect types. Typical mechanisms for early detection are changes to inspection checklists, the inspection process, and the testing process.

Defect prevention is a team activity. It can be very effective at reducing cost and improving quality. It can also greatly improve the yield of the appraisal processes. When an organization institutes a defect prevention process, it puts the responsibility of analyzing and acting on defect data squarely in the lap of its development teams. This promotes an understanding the costs of the team’s defects and challenges the team to prevent the defects in the first place, by taking ownership of product quality. It drives home the economics of high quality design and the value of the inspection process. It motivates collection of high quality measurements. And it creates an efficient closed-loop system where feedback is continually used to optimize the design and inspection processes.

Using a formal Defect Prevention process to eliminate common defects can dramatically improve productivity and product quality. In particular, there is a huge payback to preventing requirement errors. Most organizations have ample opportunity for quick improvement in this area.

Inspections and Defect Prevention form a highly synergistic pair of processes. Inspections provide the defect data necessary to drive the defect prevention process. Using the inspection data regularly for defect prevention activities motivate the developer to record complete and accurate defect data. Effective defect prevention lowers the cost of inspections (by eliminating or minimizing the need to inspect for whole classes of defects) and testing (by reducing the number of defects found during test) To get the full benefit of this synergy, PS&J recommends introducing defect prevention three to six month after introducing inspections.

No comments: