As we near the thirtieth anniversary of the development of the inspection process by Michael Fagan at IBM, I continue to be amazed at the number of software development organizations that do not use this powerful method to improve quality and productivity.
I recently had a discussion with someone about Return on Investment (ROI) for the process. He said they did not do ROI calculations, as they knew they were getting a good benefit from requirements and design inspections. He then said, "We do not do code inspection as they take too much time." In the absence of any ROI calculations, how would he know?
Let's take a look at this situation and explore some relatively easy ways to evaluate either potential or actual benefits from inspections. It really does not take a large amount of data, and the cost to do the analysis is minimal. For the potential benefit, we will make some assumptions about the cost of inspections and try to estimate the savings from reduced test cost. I'll also provide a spreadsheet for doing "what-if" analysis of various different savings based on inspection effectiveness, and how much defect removal in test might cost.
The inspection process itself will not be explained in any detail, as it has been explained in many books and publications (see a short list at the end of the article).
The savings can be calculated as follows:
Savings = (Original Test Cost) - (New Test Cost) - (Cost of Inspection)
How each of these is derived is shown below.
If you are not already performing inspections and therefore do not have your own data, the following rules of thumb can be used:
One thousand lines of source code will take about 50 hours of effort for a four-person team at the recommended preparation and inspection rates of 150 lines per hour. (The number is actually 53, but rounding to 50 makes the analysis easier.)
A 35-page design or requirements document will take about 50 hours of effort for a five-person team at the recommended rate of seven pages per hour for preparation and inspection.
We will use these numbers as baselines for ROI calculations. In addition, there is the defect rework cost for the defects found in the inspections.