• DocumentCode
    962118
  • Title

    Are Two Heads Better than One? On the Effectiveness of Pair Programming

  • Author

    Dyba, Tore ; Arisholm, Erik ; Sjoberg, Dag I. K. ; Hannay, Jo E. ; Shull, Forrest

  • Author_Institution
    Simula Res. Lab. Sintef ICI, Bucharest
  • Volume
    24
  • Issue
    6
  • fYear
    2007
  • Firstpage
    12
  • Lastpage
    15
  • Abstract
    Pair programming is a collaborative approach that makes working in pairs rather than individually the primary work style for code development. Because PP is a radically different approach than many developers are used to, it can be hard to predict the effects when a team switches to PP. Because projects focus on different things, this article concentrates on understanding general aspects related to effectiveness, specifically project duration, effort, and quality. Not unexpectedly, our meta-analysis showed that the question of whether two heads are better than one isn\´t precise enough to be meaningful. Given the evidence, the best answer is "it depends" - on both the programmer\´s expertise and the complexity of the system and tasks to be solved. Two heads are better than one for achieving correctness on highly complex programming tasks. They might also have a time gain on simpler tasks. Additional studies would be useful. For example, further investigation is clearly needed into the interaction of complexity and programmer experience and how they affect the appropriateness of a PP approach; our current understanding of this phenomenon rests chiefly on a single (although large) study. Only by understanding what makes pairs work and what makes them less efficient can we take steps to provide beneficial work conditions, to avoid detrimental conditions, and to avoid pairing altogether when conditions are detrimental. With the right cooks and the right combination of ingredients, the broth has the potential to be very good indeed.
  • Keywords
    programming; software engineering; code development; collaborative approach; meta-analysis; pair programming; Application software; Code standards; Educational institutions; Europe; Measurement standards; North America; Programming profession; Resource management; Time measurement; code; duration; effort; pair programming; programming; quality;
  • fLanguage
    English
  • Journal_Title
    Software, IEEE
  • Publisher
    ieee
  • ISSN
    0740-7459
  • Type

    jour

  • DOI
    10.1109/MS.2007.158
  • Filename
    4375233