University of Sussex
Browse

File(s) not publicly available

Pair Programming and the Mysterious Role of the Navigator

journal contribution
posted on 2023-06-08, 07:13 authored by Sallyann Bryant, Pablo Romero, Benedict du Boulay
Computer programming is generally understood to be highly challenging and since its inception a wide range of approaches, tools and methodologies have been developed to assist in managing its complexity. Relatively recently the potential benefits of collaborative software development have been formalised in the practice of pair programming. Here we attempt to 'unpick' the pair programming process through the analysis of verbalisations from a number of commercial studies. We focus particularly on the roles of the two programmers and what their key characteristics and behaviours might be. In particular, we dispute two existing claims: (i) That the programmer who is not currently typing in code ("the navigator") is constantly reviewing what is typed and highlighting any errors (i.e. acting as a reviewer); (ii) That the navigator focuses on a different level of abstraction as a way of ensuring coverage at all necessary level (i.e. acting as a foreman). We provide an alternative model for these roles ("the tag team") and suggest that a key factor in the success of pair programming may be the associated increase in talk at an intermediate level of abstraction.

History

Publication status

  • Published

Journal

International Journal of Human Computer Studies

ISSN

1071-5819

Page range

1-11

Pages

11.0

Department affiliated with

  • Informatics Publications

Notes

Originality: Analyses collaborative (pair) programming, a novel technique used with significant success in professional software development, from a cognitive perspective. This is one of the first attempts to study pair programming at an explanatory rather than at a descriptive level. Rigour: Derives conclusions from an empirical study of professional programmers at their work place. 18 pairs of programmers were observed in one-week studies in each of 4 different companies. The data was analysed both quantitatively and qualitatively through verbal protocol analysis. Significance/impact: Helps to explain the roles played by both programmers when working in pairs, giving an insight into how gains in productivity in commercial software development might be obtained. As one of the first attempts to study pair programming at an explanatory level, it is expected to have considerable impact on this research area.

Full text available

  • No

Peer reviewed?

  • Yes

Legacy Posted Date

2012-02-06

Usage metrics

    University of Sussex (Publications)

    Categories

    No categories selected

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC