A software technical review is a form of peer review in which “a team of qualified personnel … examines the suitability of the software product for its intended use and identifies discrepancies from specifications and standards. Technical reviews may also provide recommendations of alternatives and examination of various alternatives” (IEEE Std. 1028-1997, IEEE Standard for Software Reviews, clause 3.7).
“Software product” normally refers to some kind of technical document. This might be a software design document or program source code, but use cases, business process definitions, test case specifications, and a variety of other technical documentation, may also be subject to technical review.
Technical review differs from software walkthroughs in its specific focus on the technical quality of the product reviewed. It differs from software inspection in its ability to suggest direct alterations to the product reviewed, and its lack of a direct focus on training and process improvement.
The term formal technical review is sometimes used to mean a software inspection. A ‘Technical Review’ may also refer to an acquisition lifecycle event or Design review.
Objectives and participants
The purpose of a technical review is to arrive at a technically superior version of the work product reviewed, whether by correction of defects or by recommendation or introduction of alternative approaches. While the latter aspect may offer facilities that software inspection lacks, there may be a penalty in time lost to technical discussions or disputes which may be beyond the capacity of some participants.
IEEE 1028 recommends the inclusion of participants to fill the following roles:
The Decision Maker (the person for whom the technical review is conducted) determines if the review objectives have been met.
The Review Leader is responsible for performing administrative tasks relative to the review, ensuring orderly conduct, and ensuring that the review meets its objectives.
The Recorder documents anomalies, action items, decisions, and recommendations made by the review team.
Technical staff are active participants in the review and evaluation of the software product.
Management staff may participate for the purpose of identifying issues that require management resolution.
Customer or user representatives may fill roles determined by the Review Leader prior to the review.
A single participant may fill more than one role, as appropriate.
A formal technical review will follow a series of activities similar to that specified in clause 5 of IEEE 1028, essentially summarised in the article on software review.