An Experiment to Assess the Cost-Benefits of Code Inspections in Large
Scale Software Development
Files
Publication or External Link
Date
Advisor
Citation
DRUM DOI
Abstract
We are conducting a long-term experiment (in progress) to compare the costs and benefits of several different software inspection methods. These methods are being applied by professional developers to a commercial software product they are currently writing.
Because the laboratory for this experiment is a live development
effort, we took special care to minimize cost and risk to the project, while maximizing our ability to gather useful data.
This article has several goals: (1) to describe the experiment's
design and show how we used simulation techniques to optimize it, (2) to present our preliminary results and discuss their implications for both software practitioners and researchers, and (3) to discuss how we expect to modify the experiment in order to reduce potential risks to the project.
For each inspection we randomly assign 3 independent variables:
(1) the number of reviewers on each inspection team (1, 2 or 4), (2) the number of teams inspecting the code unit (1 or 2), and (3) the requirement that defects be repaired between the first and second team's inspections. The reviewers for each inspection are randomly selected without replacement from a pool of 11 experienced software developers. The dependent variables for each inspection include inspection interval (elapsed time), total effort, and the defect detection rate.
To date we have completed 34 of the planned 64 inspections. Our
preliminary results challenge certain long-held beliefs about the most cost-effective ways to conduct inspections and raise some questions about the feasibility of recently proposed methods. (Also cross-referenced as UMIACS-TR-95-14)