Software peer review

Software peer review

In software development, peer review refers to a type of software review in which a work product (normally some form of document) is examined by its author and one or more colleagues, in order to evaluate its technical content and quality.

Purpose

The purpose of a peer review is to provide "a disciplined engineering practice for detecting and correcting defects in software artifacts, and preventing their leakage into field operations" according to the Capability Maturity Model.

When performed as part of each Software development process activity, peer reviews identify problems and fix them early in the lifecycle. That is to say, a peer review that identifies a requirements problem during the Requirements analysis activity is cheaper and easier to fix than during the Software architecture or Software testing activities.

The National Software Quality Experiment, [ [http://members.aol.com/ONeillDon/nsqe-results.html National Software Quality Experiment Resources and Results] ] evaluating the effectiveness of peer reviews, finds, "a favorable return on investment for software inspections; savings exceeds costs by 4 to 1". To state it another way, it is four times more costly, on average, to identify and fix a software problem later.

Distinction from other types of software review

Peer reviews are distinct from management reviews, which are conducted by management representatives rather than by colleagues, and for management and control purposes rather than for technical evaluation. They are also distinct from software audit reviews, which are conducted by personnel external to the project, to evaluate compliance with specifications, standards, contractual agreements, or other criteria.

Review processes

Peer 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. The IEEE defines formal structures, roles, and processes for each of the last three. [IEEE Std. 1028-1997, "IEEE Standard for Software Reviews"]

Management representatives are typically not be involved in the conduct of a peer review except when included because of specific technical expertise or when the work product under review is a management-level document. This is especially true of line managers of other participants in the review.

"Open source" reviews

In the free / open source community, something like peer review has taken place in the engineering and evaluation of computer software. In this context, the rationale for peer review has its equivalent in Linus's law, often phrased: "Given enough eyeballs, all bugs are shallow", meaning "If there are enough reviewers, all problems are easy to solve." Eric S. Raymond has written influentially about peer review in software development. [cite paper|author=Eric S. Raymond|title=The Cathedral and the Bazaar]

References


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Software audit review — A software audit review, or software audit, is a type of software review in which one or more auditors who are not members of the software development organization conduct An independent examination of a software product, software process, or set …   Wikipedia

  • Software technical review — 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… …   Wikipedia

  • Peer review (disambiguation) — Peer review may refer to: *Peer review, the scholarly process of screening papers *Medical peer review, the process of refereeing healthcare practitioner decisions * Peer Review (magazine) , an academic magazine *Peer review, a form of… …   Wikipedia

  • Peer review — For Wikipedia s Peer Review area, see Wikipedia:Peer review. For other uses, see Peer review (disambiguation). Peer review is a process of self regulation by a profession or a process of evaluation involving qualified individuals within the… …   Wikipedia

  • Software review — 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 .IEEE Std. 1028 1997, IEEE… …   Wikipedia

  • 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… …   Wikipedia

  • Software studies — is an academic research field which studies software systems and their cultural effects.OverviewSoftware studies is interdisciplinary, approaching software both as a technical artifact and from perspectives of the humanities and social sciences… …   Wikipedia

  • Peer-to-Patent — The Peer To Patent project is an initiative that seeks to assist patent offices in improving patent quality by gathering public input in a structured, productive manner. Peer To Patent is the first social software project directly linked to… …   Wikipedia

  • Peer to patent — The Peer to Patent project (also known as the Community PatentReview project) is an initiative that seeks reform of the patentsystem by gathering public input in a structured, productive manner. Apilot project in collaboration with the United… …   Wikipedia

  • 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. An inspection might also be referred to as a Fagan inspection after Michael Fagan, the… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”