A software review is “A process or meeting during which a software product is examined by project personnel, managers, users, customers, user representatives, or other interested parties for comment or approval”. Get honest software reviews here.
In this context, the term “software product” means “any technical document or partial document, produced as a deliverable of a software development activity”, and may include documents such as contracts, project plans and budgets, requirements documents, specifications, designs, source code, user documentation, support and maintenance documentation, test plans, test specifications, standards, and any other type of specialist work product.
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.
Different types of Peer reviews
Code review is a systematic examination (often as peer review) of computer source code.
Pair programming is a type of code review where two persons develop code together at the same workstation.
Inspection is a very formal type of peer review where the reviewers are following a well-defined process to find defects.
A walkthrough is a form of peer review where the author leads members of the development team and other interested parties go through a software product and the participants ask questions and make comments about defects.
A 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.
Formal versus informal reviews
“Formality” identifies the degree to which an activity is governed by agreed (written) rules. Software review processes exist across a spectrum of formality, with relatively unstructured activities such as “buddy checking” towards one end of the spectrum, and more formal approaches such as walkthroughs, technical reviews, and software inspections, at the other. IEEE Std. 1028-1997 defines formal structures, roles, and processes for each of the last three (“formal peer reviews”), together with software audits.
Research studies tend to support the conclusion that formal reviews greatly outperform informal reviews in cost-effectiveness. Informal reviews may often be unnecessarily expensive (because of time-wasting through lack of focus), and frequently provide a sense of security which is quite unjustified by the relatively small number of real defects found and repaired.