Chapter 11: Defect Analysis
There are two things that can enable a product to achieve the necessary quality and freedom from error, if they are done right. One is the testing and the other one is sensible error fixing. Testing is intended to find defects in priority order and sensible fixing corrects them in priority order. However, these two priority orders can be different. In a product program, it may not always be wise to fix all the defects discovered, but instead handle them as known issues. This, of course, raises the question of why we did the testing to discover defects that we do not plan to fix. Sometimes defects in very complex components can be very safe and simple to fix. However, understanding what pieces of the functionality are so critical and important to the customer that they should be error free, no matter how big the risk of regression, is as important as recognizing which defects are very safe to fix.
At a certain stage in a program it can be worth fixing all discovered defects and, then, after that analysing which fixes are to be integrated and which not. This activity is called gatekeeping and the person responsible for it is called the gatekeeper. Figure 11-1 shows the sorts of issues a gatekeeper should consider for each fix.
Figure 11-2 shows how to prioritize the order of fixing. To simplify the elements ...