Liberating Pair Programming Research From the Oppressive Driver/Observer Regime

Author(s): Stephan Salinger, Franz Zieris, Lutz Prechelt
Venue: International Conference on Software
Date: 2013

Type of Experiement: Case Study
Data Collection Method: Observation


The main focus of this paper is to provide a better classification of roles in Pair Programming (PP). PP is claimed to reduce the number of hours needed to finish a task, but at the same time it might increase the necessary man/hour needed for the same task. it is also claimed to reduce the number of defects and accelerate learning and flow of information among the team. The traditional and classification has two main roles of “driver”, the person who is doing the coding, and the observer, the person who sees the screen and helps the “driver.” In this point of view the driver. In this method authors claim that there is an inaccurate assumption that driver is thinking about the code at hand while the observer is thinking about strategic implications and defects of the code.

The authors started their own experiment in order to determine the accuracy of traditional point of view on PP. They gathered data by taking video’s and audio of the PP sessions and used Grounded Theory Methodology(GTM), “in particular open coding and axial coding, starting at a fairly fine granularity.“ While analyzing data they noticed “a variety of role related phenomena.” Therefore, they came up with an idea of different roles in PP rather than having driver/observer roles. Authors define Role by means of characteristic Facets. Facets connect Role to Actions, which are easy to observe. Authors defined several roles in PP:
Watchman: Has three different facets
Recognizing hazards: Detecting issues that could cause problems.
Setting Priorities: Deciding what and when something needs to be done.
Shifting: Determining when to switch context on which programmers are working on.
Task expert: Has 2 main facets
Knowledge: Role of passing knowledge.
Turning task knowledge into proposals:
Opening a dialog about the issue
Communicate in non-expert would understand the issue.
Finding a resolution using the dialogue.

The authors also noticed that each individual could have several roles at the same time, and he/she might not act out all of the roles at the same time. They also stated that there are many more roles to be added to the list, but more research is necessary.