Inspection
Inspection is a type of review that is formal and rigorous in nature. It is conducted by practitioners who are closely associated with the work being reviewed, such as other business analysts, developers, test team members, or members from the quality assurance team. The main purpose of an inspection is to assess the work for completeness, consistency, and conformance to both internal and external standards. This is often done by utilizing a checklist as a guide during the review process.
In a predictive life cycle, inspections of requirements typically occur at the end of the requirements process, just before the document is submitted for final approval. This is usually after all the business stakeholders have reviewed and confirmed their respective sections of the requirements. The primary objective is to ensure that the requirements are acceptable in their current form for progressing into the subsequent phases of the project. The inspection can also be performed on subsets or chunks of completed requirements, not necessarily the entire document.
Participants in an inspection are peers who were involved in the creation and documentation of the requirements, and who are also the intended recipients of the requirements document. Notably, business stakeholders and management are deliberately excluded from the inspection session, especially the line management of the inspectors.
The requirements inspection checklist could include items such as:
- Validation of all internal cross-references to other requirements
- Confirmation that all requirements are written at a consistent and appropriate level of detail
- Assessment of whether the requirements provide an adequate basis for design
- Verification that the implementation priority for each requirement is included
- Ensuring that all external hardware, software, and communication interfaces are defined
- Verification that algorithms intrinsic to the functional requirements have been defined
- Confirming that the expected behavior is documented for all anticipated error conditions
The presence of a checklist is a key differentiator that sets an inspection apart from a peer review. While a peer review relies heavily on the reviewers' domain knowledge, an inspection uses a well-defined checklist to look for known types of defects in the product being reviewed. Moreover, inspections adhere to a more structured and rigorous process compared to peer reviews and often have a set of rules that dictate how the inspection is to be performed.