Qualitative Analysis of the Teacher and Student Roles in Pair Programming
Linus Ververs, Trang Linh Lam, Lutz Prechelt
TL;DR
The paper investigates how Teacher and Student roles emerge in pair programming to bridge large knowledge gaps. Using Grounded Theory-inspired open and axial coding on 17 industrial sessions plus interviews, it defines six Teacher facets and two Student facets, along with four Teacher anti-patterns and one Student anti-pattern, providing actionable learning goals and warning signs. The findings offer concrete patterns for knowledge transfer, including push/pull dynamics, back-channel signaling, and mindful pacing, with practical advice for practitioners to improve pairing and collaboration. The study advances qualitative theory of pair programming roles and points to future work to build a fuller Grounded Theory (NN26b-CHASE) and evaluate impact across contexts.
Abstract
Background: Pair programming is a well-established and versatile agile practice. Previous research has found it to involve far more different roles than the well-known Driver and Observer/Navigator roles. Pair programming often involves heavy knowledge transfer from mainly one partner to the other. Objective: Understand how to fill the ensuing Teacher and Student roles well (positive behavioral patterns). Understand how they may break (anti-patterns). Method: Open coding and axial coding of 17 recorded pair programming sessions with 18 developers from 5 German software companies, plus interviews with 6 different developers from 4 other German companies. Results: We describe six facets of effective Teacher behavior (e.g. Prioritizing Knowledge Transfer) and two facets of effective Student behavior (e.g. Expressing Knowledge Wants). We describe four harmful would-be-Teacher behaviors (e.g. Pushing Unwanted Knowledge), and one harmful would-be-Student behavior (Failing to Provide a Back Channel). Conclusions: The role facets can serve as learning goals and to-do list for developers who want to develop strong pair programming skill. The anti-patterns can serve as warnings for one's own general behavior and as triggers for immediate meta-discussion if they occur within a pairing session.
