It is the goal of any software project to produce 100% defect-free work products, but in reality each work product will have at least a few defects. There are two approaches to identify and eliminate defects – Reviews & Testing. Testing is normally carried out on executable systems, whereas Reviews are carried out for any work product (code, plans, design document etc.). Every work product of the project has to undergo one or both of these two.
Peer reviews are reviews carried out by the peer(s) of the author. These could be conducted by one-person (sometimes) or a group of two or more. Any peer review that takes place has to have records for the same.