Improving Product Reliability and Software Quality, 2nd Edition
by Mark A. Levin, Ted T. Kalal, Jonathan Rodin
10Software Quality Analysis Techniques
10.1 Root Cause Analysis
Root cause analysis (RCA) is a procedure by which weaknesses in the overall development process can be identified with the intent to improve them over time. During the development process, defects are fixed when they are discovered. During this process, not much time is spent trying to understand how the defect was injected in the first place. Analysis should be performed outside of the process for a specific project development to identify any organizational, process, and technical weaknesses that exist. RCA is one of the most important analysis procedures to drive development process improvement efforts.
Many of the important RCA techniques originated from quality improvement efforts in manufacturing in the 1960s. They were subsequently adopted by other engineering disciplines and have been used successfully for decades. There are many tools and techniques that can be used for RCA. This chapter covers three powerful and more commonly used methods.
Adequate staff participation is important with all the root‐cause techniques. Participants should include members of the team who worked on the project, additional subject matter experts, and process experts. Any RCA effort will likely be deficient if the team is too small or does not include representation from groups with the necessary experience and expertise.
10.2 The 5 Whys
The 5 Whys is an iterative technique for identifying the underlying root cause for any given ...