The effect of pairs in program design tasks

Kim Man Lui, Chun Chung Chan, John Nosek

Research output: Journal article publicationJournal articleAcademic researchpeer-review

32 Citations (Scopus)


Pair programming consists of two developers who collaborate with each other on the same programming task to design and code a solution. Previous pair programming experiments did not explore the efficacy of pairs in program design separately from coding, and most suffered from using students who were not full-time, professional programmers. Aptitude tests relevant to program design tasks have been shown to correlate with future programming performance and do not require skill in a particular computer language. Variations in programmer skill in a particular language or integrated development environment can interfere with interpreting results in pair programming experiments and mask the skill of subjects in program design related tasks. Two experiments were conducted with full-time professional programmers as subjects who worked on increasingly complex aptitude tasks related to problem solving and algorithmic design. In both experiments, pairs significantly outperformed solos, providing evidence of the value of pairs in program design related tasks.
Original languageEnglish
Pages (from-to)197-211
Number of pages15
JournalIEEE Transactions on Software Engineering
Issue number2
Publication statusPublished - 1 Mar 2008


  • Group dynamics
  • Pair programming
  • Programming aptitude test
  • Programming experiment
  • Software design

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'The effect of pairs in program design tasks'. Together they form a unique fingerprint.

Cite this