Software technical review
Encyclopedia
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 case
s, 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 walkthrough
s 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.
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.
.
Peer review
Peer review is a process of self-regulation by a profession or a process of evaluation involving qualified individuals within the relevant field. Peer review methods are employed to maintain standards, improve performance and provide credibility...
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
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
, but use case
Use case
In software engineering and systems engineering, a use case is a description of steps or actions between a user and a software system which leads the user towards something useful...
s, business process
Business process
A business process or business method is a collection of related, structured activities or tasks that produce a specific service or product for a particular customer or customers...
definitions, test case
Test case
A test case in software engineering is a set of conditions or variables under which a tester will determine whether an application or software system is working correctly or not. The mechanism for determining whether a software program or system has passed or failed such a test is known as a test...
specifications, and a variety of other technical documentation, may also be subject to technical review.
Technical review differs from software walkthrough
Software walkthrough
In software engineering, a walkthrough or walk-through is a form of software peer review "in which a designer or programmer leads members of the development team and other interested parties through a software product, and the participants ask questions and make comments about possible errors,...
s in its specific focus on the technical quality of the product reviewed. It differs from software inspection
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...
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.
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.
Process
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 reviewSoftware review
A software review is "A process or meeting during which a software product is examined by a project personnel, managers, users, customers, user representatives, or other interested parties for comment or approval"....
.