Peer review or testing is a way of evaluating work performed by a co-worker. In software development, it stands for cross-checking the code written by developers. The developers need to be at par with each other. Peer review technique is adopted in many other professions, as it involves a team effort, which is productive in pursuit of a common goal.
The process of peer review must begin as early as possible while it is in its preliminary state. It can be thought of as a stepping stone towards a more constructive software development. The time for peer testing can be mutually decided upon by the developers, which could be a weekly or a fortnightly analysis of their respective codes. A peer review has both 'formal' and 'informal' ways of delivering the final outcome, which could be a result of a consensus among the developers. Well the idea of 'peer review' develops a common ground for developers working on a project to understand about a certain problem or the fact that what led to such a problem and so on.
Over the years, the process of peer review has gained an adequate space in software development. Currently a peer review process has the following two formats:
- Paired Code Reviews
- Group peer inspections
Peer Review Process:
- Informal -It is not a very structured form of review. This can be done over a cup of coffee with a fellow developer.
- Walk-through -In this method, a software developer leads a team of programmers and other interested people interested in the software product, to review the product and put up questions, if any, regarding the software product.
- Peer Review -This method is a more formal way of reviewing the tasks of a co-worker.
- Inspection -It is an organised way of conducting the process of evaluation. It involves application of various metrics to quantify the results of the review process, in order to analyse to what extent the outcome is fruitful or valid.
Peer Review Features:
- It is a documented way of evaluation that uses a defect detection process, which involves peers and few technical specialists.
- This technique does not involve management team.
- Usually led by a moderator.
- Report is prepared enlisting all the issues that needs attention.
Benefits of Peer testing:
- Increase in the quality of the work product -Well, quality is definitely addressed through this review, because when one looks into the work product of their fellow members, it is a common psychology to try to find out bugs. A coder thus takes up this task with a lot of enthusiasm in order to trace the loopholes in the code. As a result, the process progresses with an inquisitive approach thus enabling the possibility of least amount of defects.
- Steady work progress -A milestone is defined prior commencing the process of peer review. Hence when the process actually begins, the team members gear up for achieving the final objective.
- A sense of belonging within the group -Definitely the technique of peer review infuses a sense of team spirit, because the mission is to find bugs and inflict the cause of the same on the other team. It is a kind of competition that eventually leads to a team effort - who wins over another.
- Enhanced collaboration between teams -The teams working in association with each other occasionally exchange ideas, take opinion of their fellow team members on similar kind of problems. This ensures enhancement of knowledge which can help to face the challenges, effortlessly.
- Increased Learning -Unity is strength. This proverb holds so true when people recognise the importance or value of team spirit. Therefore when team members exchange ideas and opinions within the team or with another team, it gradually helps in developing a great deal of knowledge about a subject.
- Cost effective -Imbibing peer review as a part of software development life cycle helps to curb cost in terms of outsourcing the application under development for review to some external resource, purchasing or renewing tool licenses and so on.
Peer review is an efficient technique that adopts a collaborative approach towards problem solving. It helps to gain a better insight into a subject matter, when one delves into the task performed by another. It helps the person to understand different ways of doing a task which he himself may never have practically applied or has thought of.
Peer review is and shall in the long run serve as a method of attaining a quality work product.