Distributed Pair Programming

Distributed software development is becoming common practice in industry. In education, students may also prefer to work from their dorm rooms or homes, rather than going to the lab to work with their partners. Furthermore, students enrolled in distance education courses may never be able to meet each other face-to-face. These distributed workers can practice pair programming through the Internet using a variety of tools. In the simplest of cases, programmers can use VNC[23] or Windows Meeting Space[24] (previously Net Meeting) to share desktops. These tools broadcast the display of the output of any application from a member to all the others, requiring sufficient bandwidth, trust, and security between the parties. Other tools, such as Sangam [Ho et al. 2004], xpairtise[25], COPPER [Natsu et al. 2003], or Facetop [Navoraphan et al. 2006] have been designed to transmit only those messages that are important for pair programming, such as the latest change made by the driver.

Distributed cognition expert Nick Flor stresses the importance of distributed pair programming systems to support cross-workspace visual, manual, and audio channels [Flor 2006]. These channels allow pairs to collaborate and provide subtle yet significant catalysts for ongoing knowledge-sharing and helping activities. For example, subtle gestures such as a shake of the head or a mumble can be the catalyst for an exchange between the pair. Transparent images of the partner shown in the ...

Get Making Software now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.