Program inspection is a formal process that is carried out by a team of at least four people. InFagan’s original proposals for inspections, he suggested roles such as author, reader, tester and moderator. The reader reads the code aloud to the inspection team, the tester inspects the code from a testing perspective and the moderator organises the process.
As organisations have gained experience with inspection, other proposals for team roles have emerged. In a discussion of how inspection was successfully introduced in Hewlett-Packard’s development process, Grady and Van Slack (Grady and Van Slack, 1994) suggest six roles:
- Author or owner. The programmer or designer responsible for producing the program or document. Responsible for fixing defects discovered during the inspection process.
- Inspector. Finds errors, omissions and inconsistencies in programs and documents. May also identify broader issues with the code being inspected such as lack of portability.
- Reader. Presents the code or document at an inspection meeting.
- Chairman or moderator. Manages the process and facilitates the inspection. Reports process results to the chief moderator.
- Scribe. Records the results of the inspection meeting.
- Chief moderator. Responsible for inspection process improvements, checklist updating, standards development, etc. Not necessarily involved in all inspections.
They do not think that reading the program aloud is necessary. The same person can take more than one role so the team size may vary from one inspection to another. Gilb and Graham (ref) suggest that inspectors should be selected to reflect different viewpoints such as testing, end-user and quality management.
Grady R.B. and Van Slack, T. 1994. “Key Lessons in Achieving Widespread Inspection Use. IEEE Software, 11 (4), 46-57.