Defect classification

created: 1998-09-02, Lutz Prechelt
changed: 1999-01-14, Lutz Prechelt
RCS:     $Id$

You can either use this standard as is, or adapt it to your needs.
If you adapt it, summarize the changes below.

This defect classification uses three dimensions:
  1. The injection phase: When was the defect produced?
  2. The defect type (product-related): What was the structure of the defect itself (or: what sort of repair was required)?
  3. The defect reason (process-related): Why was the defect introduced (or: what sort of mistake led to the defect)?

Defect injection phases

The injection phase of a defect describes when a defect was introduced. To be useful, this should not refer to the surface causal event of the defect (``When did I produce the part of the product that I now have to repair?''), but instead should refer to the deep causal event (root cause, RC) of the defect: ``When was the event that subsequently made me produce the part of the product that I now have to repair?''.

There are three cases:

Defect types

This classification describes the structure of the defect: IC, IS, ID, MD are typically related to design.
IU, IV, MI, MA, WE, WC, WN are typically related to implementation.

After some defect data have been collected one may adapt the above classification to one's own needs. Such changes should be upwards compatible so as not to render old data useless. This means that the only changes are typically clarification of the definition of a defect type and extension of the scheme to include additional defect types. Old defect types may be marked obsolete but should not be removed from the standard. Still, as a rule, changes to the defect classification should be made only rarely.

Defect reasons

This classification describes why the defect was introduced:

Lutz Prechelt,, Last modified: Wed Apr 14 09:39:03 MET DST 1999