3.2.3 Review Types
Although reviews can be used for various purposes, one of the main objectives is to uncover defects. All review types can aid in defect detection, and the selected review type should be based on the needs of the project, available resources, product type and risks, business domain, and company culture, among other selection criteria.
A single work product may be the subject of more than one type of review. If more than one type of review is used, the order may vary. For example, an informal review may be carried out before a technical review, to ensure the work product is ready for a technical review.
The types of reviews described below can be done as peer reviews, i.e., done by colleagues qualified to do the same work.
The types of defects found in a review vary, depending especially on the work product being reviewed. (See section 3.1.3 for examples of defects that can be found by reviews in different work products, and Gilb 1993 for information on formal inspections).Reviews can be classified according to various attributes. The following lists the four most common types of reviews and their associated attributes.
Informal review (e.g., buddy check, pairing, pair review)
Main purpose: detecting potential defects
Possible additional purposes: generating new ideas or solutions, quickly solving minor problems
Not based on a formal (documented) process
May not involve a review meeting
May be performed by a colleague of the author (buddy check) or by more people
Results may be documented
Varies in usefulness depending on the reviewers
Use of checklists is optional
Very commonly used in Agile development
Walkthrough
Main purposes: find defects, improve the software product, consider alternative implementations, evaluate conformance to standards and specifications
Possible additional purposes: exchanging ideas about techniques or style variations, training of participants, achieving consensus
Individual preparation before the review meeting is optional
Review meeting is typically led by the author of the work product
Scribe is mandatory
Use of checklists is optional
May take the form of scenarios, dry runs, or simulations
Potential defect logs and review reports are produced
May vary in practice from quite informal to very formal
Technical review
Main purposes: gaining consensus, detecting potential defects
Possible further purposes: evaluating quality and building confidence in the work product, generating new ideas, motivating and enabling authors to improve future work products, considering alternative implementations
Reviewers should be technical peers of the author, and technical experts in the same or other disciplines
Individual preparation before the review meeting is required
Review meeting is optional, ideally led by a trained facilitator (typically not the author)
Scribe is mandatory, ideally not the author Use of checklists is optional
Potential defect logs and review reports are produced
Inspection
Main purposes: detecting potential defects, evaluating quality and building confidence in the work product, preventing future similar defects through author learning and root cause analysis
Possible further purposes: motivating and enabling authors to improve future work products and the software development process, achieving consensus
Follows a defined process with formal documented outputs, based on rules and checklists
Uses clearly defined roles, such as those specified in section 3.2.2 which are mandatory, and may include a dedicated reader (who reads the work product aloud often paraphrase, i.e. describes it in own words, during the review meeting)
Individual preparation before the review meeting is required
Reviewers are either peers of the author or experts in other disciplines that are relevant to the work product
Specified entry and exit criteria are used
Scribe is mandatory
Review meeting is led by a trained facilitator (not the author)
Author cannot act as the review leader, reader, or scribe
Potential defect logs and review report are produced
Metrics are collected and used to improve the entire software development process, including the inspection process
Last updated
Was this helpful?