From Peer Review to Pair Programming


speed. The senior member may become unhappy and it may be an ineffective use of their time. While the levels of experience should be similar, the areas of expertise can vary (e.g., one can be more skilled in data engineering while the other is more experienced in workflow). Therefore, consider who the peers really are (e.g. those at or near the same professional level of experience) and pair them appropriately.

Working as a pair: Many programmers simply work better in isolation. They like to review the requirement or defect and individually derive the best programming solution per their skill level. Then they like to code as and when they want to code without restraint of another's schedule or work hours. In pair programming, the two programmers work together constantly and will be assessing each other's deliverables continuously. This means they must work roughly the same hours and agree to the working process. Most importantly the pair must enjoy each other's company, have similar personalities, have flexible egos, and be constantly open minded of each other's ideas and opinions. Otherwise, this working relationship can be frustrating to one of both of the pair.

Focusing on problem-solving work: Pair programming is not for all types of programming work. For example, it may be an ineffective use for maintenance or routine enhancement work. For this type of work, applying a peer review (e.g., code review) at regular intervals may be more efficient. When initiating a pair programming program, identify the better types of work that can make pair programming a success like "release 1" of a product that requires considerable problem solving (in design and coding), or projects that have challenging defects to resolve, or work that requires getting into the flow or zone while also requiring documentation (one member of the pair can keep in the zone while the other does the documentation).

About the author

Mario  Moreira's picture Mario Moreira

Mario Moreira is a Columnist for the CM Journal, a writer for the Agile Journal, an Author, an Agile and CM expert for CA, and has worked in the CM field since 1986 and in the Agile field since 1998. He has experience with numerous CM technologies and processes and has implemented CM on over 150 applications/products, which include establishing global SCM infrastructures. He is a certified ScrumMaster in the Agile arena having implemented Scrum and XP practices. He holds an MA in Mass Communication with an emphasis on communication technologies. Mario also brings years of Project Management, Software Quality Assurance, Requirement Management, facilitation, and team building skills and experience. Mario is the author of a new book entitled “Adapting Configuration Management for Agile Teams” (via Wiley Publishing). It provides an Agile Primer and a CM Primer, and how to adapt CM practices for Agile Teams. Mario is also the author of the CM book entitled, “Software Configuration Management Implementation Roadmap.” It includes step-by-step guidance for implementing SCM at the organization, application, and project level with numerous examples. Also consider visiting Mario’s blog on CM for Agile and Agile adoption at

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, is the place to go for what is happening in software development and delivery.  Join the conversation now!