Pair programming productivity: Novice-novice vs. expert-expert

  • Authors:
  • Kim Man Lui;Keith C. C. Chan

  • Affiliations:
  • Department of Computing, The Hong Kong Polytechnic University, Hung Hom, Hong Kong;Department of Computing, The Hong Kong Polytechnic University, Hung Hom, Hong Kong

  • Venue:
  • International Journal of Human-Computer Studies - Human-computer interaction research in the managemant information systems discipline
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Agile Software Development methodologies have grown in popularity both among academic researchers and industrial practitioners. Among the various methodologies or practices proposed, pair programming, which is concerned with two programmers collaborating on design, coding and testing, has become a controversial focus of interest. Even though some success stories have been reported with the use of pair-programming in real software development environment, many people remain rather skeptical of the claims on pair-programming productivity. Previous studies in pair programming have only addressed the basic understanding of the productivity of pairs and they have not addressed the variation in productivity between pairs of varying skills and experience, such as between novice-novice and expert-expert. Statistical productivity measurements reported by different researchers also seem to lead to contradictory conclusions. Until now, the literature has not addressed how those results and experiments were related to each other. In this paper, we propose a controlled experiment called repeat-programming which can facilitate the understanding of relationships between human experience and programming productivity. Repeat-programming can be performed when controversial issues in non-traditional programming methodologies and development productivity need to be investigated into. To illustrate how the proposed empirical experiment can put arguable, divisive problems into perspective, we have examined the productivity in pair programming as a case study. With repeat-programming, we are able to (i) better understand why results of previous pair programming control experiments reached different conclusions as to the productivity of pair programming and (ii) most importantly, present a case in which novice-novice pairs against novice solos are much more productive than expert-expert pairs against expert solos.