A cognitive model for solo programming and pair programming

Kim Man Lui, Chun Chung Chan

Research output: Chapter in book / Conference proceedingConference article published in proceeding or bookAcademic researchpeer-review

10 Citations (Scopus)

Abstract

As eXtreme Programming (XP) has grown in popularity in both academia and industry, pair programming, two programmers collaborating on design, coding and testing, has become a controversial focus of interest. Many researchers and practitioners remain skeptical of claims for the productivity of pair programming. Three controlled experiments, by Nosek, William, and Nawrocki, all reported statistical productivity measurements, but the results were inconsistent and the differences among the results could not be explained because there exists no theoretical framework to articulate pair programming. This paper proposes a cognitive model that describes the programming mechanism and this in turn can be used to explain why and when a pair may outperform two individuals. The model helps explain discrepancies in the results of the above-mentioned experiments. To show how the proposed model can be applied, a psychological experiment was conducted in which twenty-two programmers who were informed only of the experiment and the results of Nosek, and of the descriptions of Williams and Nawrocki, were able to use our model to predict the possible outcomes of the experiments of Williams and Nawrocki.
Original languageEnglish
Title of host publicationProceedings of the Third IEEE International Conference on Cognitive Informatics, ICCI 2004
Pages94-102
Number of pages9
Publication statusPublished - 1 Dec 2004
EventProceedings of the Third IEEE International Conference on Cognitive Informatics, ICCI 2004 - Victoria, BC, Canada
Duration: 16 Aug 200417 Aug 2004

Conference

ConferenceProceedings of the Third IEEE International Conference on Cognitive Informatics, ICCI 2004
CountryCanada
CityVictoria, BC
Period16/08/0417/08/04

ASJC Scopus subject areas

  • Engineering(all)

Cite this