The Steer73 Toolkit

Pair Programming

by the Steer73 Team

Pair programming, an Agile technique, involves two programmers working in real time to solve a problem.

One programmer (the driver) usually writes code while the other programmer (the navigator) reviews the code in real time.

While reviewing, the navigator doesn’t just check for mistakes, they also consider the strategic direction of the work, come up with ideas for improvements and identify potential issues to address.

Removing the strategic thinking from the driver enables them to focus fully on the task at hand, while the navigator acts as a safety net.

Why we utilise pair programming at Steer73

There are two primary benefits we gain by utilising pair programming:

Diversity of solution

An agency such as Steer73 is a melting pot of experience, expertise and good thinking. Applying the diverse perspective of two developers rather than one, helps ensure that more potential solutions are considered and greater experience is applied to problem.

Fewer errors and higher quality code

With one developer able to focus purely on tactical aspects of the task, while the observer checks the code and thinks about more strategic elements, fewer errors get through and better quality solutions are delivered.

The practice is supported by a number of studies which have shown that teams utilising pair programming consider more design alternatives than single programmers, arrive at simpler, more maintainable designs, and catch design defects earlier. (1, 2)

1. Hannay, Jo E.; Tore Dybå; Erik Arisholm; Dag I.K. Sjøberg (July 2009). “The Effectiveness of Pair Programming: A Meta-Analysis”. Information and Software Technology. 51 (7): 1110–1122. doi:10.1016/j.infsof.2009.02.001.

2. Cockburn, AlistairWilliams, Laurie(2000). “The Costs and Benefits of Pair Programming” (PDF). Proceedings of the First International Conference on Extreme Programming and Flexible Processes in Software Engineering (XP2000).