Software reviews may be divided into three categories:
- Software peer reviews are conducted by the author of the work product, or by one or more colleagues of the author, to evaluate the technical content and/or quality of the work.
- Software management reviews are conducted by management representatives to evaluate the status of work done and to make decisions regarding downstream activities.
- Software audit reviews are conducted by personnel external to the software project, to evaluate compliance with specifications, standards, contractual agreements, or other criteria.
The most obvious value of software testing (especially formal testing) is that it can identify problems earlier and at a lower cost than would be identified through testing or through field use (the defect detection process) . The cost of finding and correcting a defect through a well-conducted examination can be one to two orders of magnitude less than when the same defect is found through testing or in the field .
A second, but ultimately more important, value of software reviews is that they can be used to train technical authors to produce documents with extremely low defects, and also to identify and eliminate process deficiencies that foster defects (the defect prevention process).
This is particularly true for peer reviews if they are done in advance and often on work samples, rather than waiting for the work to be completed. Early and frequent reviews of small work samples can identify systematic errors in the Author’s work processes, which can be corrected before other defective work is done. This improvement in the Author’s skills can dramatically reduce the time needed to develop a high quality technical document, and dramatically decrease the error rate in the use of the document in subsequent processes.
Different types of Peer reviews
- Code review is a systematic examination (often as a peer review) of computer source code.
- Peer programming is a type of code review in which two people develop code together on the same workstation.
- Inspection is a very formal type of peer review in which reviewers follow a well-defined process for finding defects.
- Peer review is a form of peer review in which the author directs members of the development team and other interested parties to review a software product and the participants ask questions and comment on the defects.
- Technical review is a form of peer review in which a team of qualified personnel examines the suitability of the software product for the intended use and identifies discrepancies with respect to specifications and standards.
1028-2008 – 1028-2008 – IEEE Standard for Software Reviews and Audits – IEEE Standard. (2008, August 15). IEEE. https://ieeexplore.ieee.org/document/4601584
Weinberg, Gerald M. (1971). The Psychology of Computer Programming. Van Nostrand Reinhold.