|
|
Next: Acknowledgments
Up: Orthogonal Defect Classification
Previous: Implementing
ODC
This paper addresses a key issue of measurement in the software development
process, i.e., feedback to the developer. Without feedback to the development
team, the value of measurement is questionable and defeats the very purpose
of data collection. Yet, feedback has been one of the biggest challenges
faced, and not without reason. At one end of the spectrum, research in
defect modeling focused on reliability prediction treating all defects
as homogeneous. At the other end of the spectrum, causal analysis provided
qualitative feedback on the process. The middle ground did not develop
systematic mechanisms for feedback due to the lack of fundamental cause-effect
relationship extractable from the process. This paper builds on some fundamental
work that demonstrated the existence of a relationship between the type
of defects found and their effect on the development process. The major
contributions of this paper are:
- Orthogonal Defect Classification which provides a basic capability
to extract signatures from defects and infer the health of the development
process. The classification is to be based on what was known about the
defect such as its defect type or trigger and not on opinion
such as where it was injected. The choice of the classes in an
attribute should satisfy the stated necessary and sufficient conditions
so that they eventually point to the part of the process that requires
attention.
- The design of the defect type attribute to measure the progress of
a product through the process. Defect type identifies what is corrected
and can be associated with the different stages of the process. Thus,
a set of defects from different stages in the process, classified according
to an orthogonal set of attributes, should bear the signature of this
stage in its distribution. Moreover, changes in the distribution can
meter the progress of the product through the process. The departure
from the distribution provides alert signals pointing to the stage of
the process that requires attention. Thus, the defect type provides
feedback on the development process.
- The design of the defect trigger attribute to provide a measure of
the effectiveness of a verification stage. Defect triggers capture the
circumstance that allowed the defect to surface. The information that
yields the trigger measures aspects of completeness of a verification
stage. The verification stages could be the testing of code or the inspection
and review of a design. These data can eventually provide feedback on
the verification process. Taken together with the defect type, the cross-product
of defect type and trigger provides information that can estimate the
effectiveness of the process.
- Our experience with ODC, which indicates that it can provide fast
feedback to developers. Currently, two stage data is used for trend
analysis to yield feedback. It is envisioned that as pilots evolve,
the measurements can yield calibration. The use of ODC can begin as
early as high level design and the paper illustrates data from a selection
of pilots using ODC.
- ODC as general concept for in-process measurements. Although this
paper has focused its application in software development, it is plausible
that similar advancements are possible in other areas. Currently these
ideas are being explored, at IBM, in hardware development, information
development and non-defect oriented problems.
Next: Acknowledgments
Up: Orthogonal Defect Classification
Previous: Implementing
ODC
rchill
Thu Apr 1 13:33:37 EST 1999
|
|