Software inspection
|
Inspection in software engineering, refers to peer review of any work product by trained individuals who look for defects using a well defined process. An inspection might also be referred to as a Fagan Inspection after Michael Fagan, the inventor of the process.
When developers review their own work products they are often blind to many of the defects that are present. The use of inspections applies a rigorous process and a group of people to look for defects in a work product. Inspections can be used at every level of the software development process: requirements, design, code, and even test cases. The word inspection explicitly refers to a specific type of code review that follows a rigorous process. Other activities are likely a less formal type of review.
Of all types of reviews, inspections have been found to be the most effective. They are also the most difficult and costly to implement.
Studies have shown that having two to three reviewers is the most efficient number. As the number of reviewers increases, the law of diminishing returns kicks in and no extra defects are found -- most of the defects found will already have been found by another reviewer. The data have shown that two or three reviewers is the "sweet spot".