Improving Defect Detection in Code Inspections Through Process Roles: An Experimental Study
Lesley Pek Wee Land, Chris Sauer, Ross Jeffery, Lesley Pek, Wee Land · 1999
Software inspections are important for finding defects in software products (Fagan 1976, Gilb 1993, Humphrey 1995, Strauss & Ebenau 1994). A typical inspection includes two stages: individual preparation followed by a group review with roles assigned to each reviewer. Research has shown that group tasks typically result in process loss (Lorge et al 1958, Steiner 1972). In software defect detection also, considerable defects found during individual preparation are subsequently not reported by the group (Porter & Votta 1994, Porter et al 1995 & 1997, Land et al 1997a & 1997b, Siy 1996, Votta 1993). It is obvious that group performance can be improved if defect loss is reduced. At the same time, the use of roles in software reviews has also not been empirically validated, even though there are wide claims for their benefits. In this study, process interventions are introduced through the use of commonly used roles (moderator, reader, recorder) with a specific objective to improve group performance by reducing defect loss. This paper describes the design and conduct of experiments to test this intervention. As expected, process roles were successful at improving group performance. Less predictably, this study finds that process roles also result in the group meeting being more effective at finding new defects not previously discovered by individuals. The combined positive effects of process roles strongly indicate that they are worth adopting for review meetings. Further analyses provide a deeper understanding of how group decisions are made