Cause-and-Effect Diagram
The cause-and-effect diagram is one of the less frequently used tools in software development. Perhaps the best example among fishbone diagrams is the one given by Grady and Caswell (1986). In its quality improvement effort, the development team on a Hewlett-Packard project first used a Pareto diagram and found that defects associated with register allocation were the most prevalent in their project. With the help of a cause-and-effect diagram, they conducted brainstorming sessions on those problems. As Figure 5.15 shows, they found side effects of register usage and incorrect processor register usage to be the two primary causes. Ultimately, both were found to be caused by incomplete knowledge of the operation of the registers. With this finding, that HP division took aggressive steps to provide proper training and documentation regarding registers and processors prior to subsequent projects. Figure 5.16 shows a fishbone diagram relating the key factors to effective inspections. Such a diagram was part of the process education material for a project at IBM Rochester.
Figure 5.15. Cause-and-Effect Diagram
From Software Metrics: Establishing a Company-Wide Program , by R. B. Grady and D. L. Caswell, 1998. Reprinted by permission of Pearson Education, Inc., Upper Saddle River, N.J.
Figure 5.16. Cause-and-Effect Diagram of Design Inspection