Towards an Understanding of Communication within Pair Programming

  • Mark Zarb

    Student thesis: Doctoral ThesisDoctor of Philosophy


    Pair programming is a software development method which describes two programmers working together on the same computer, sharing one keyboard. This approach requires programmers to communicate frequently, which can lead the pair to experience certain benefits over solo programming, such as faster problem solving and a greater enjoyment of their work (Cockburn and Williams, 2001, Bryant et al., 2006). Many programmers approach their first pairing experience with scepticism, having doubts about their partner’s working habits and programming style, and about the additional communication aspects that this programming style entails (Williams et al., 2000). Despite a significant amount of research into pair programming of over 15 years, it is not evident what communication between the pair contributes to the task of pair programming.
    This work presents an analytic coding scheme which was derived from the observation of the communication of expert pairs working in industry. Over 35 hours of communication across 11 different pairs was analysed. This coding scheme was further refined to produce industry-inspired pair programming guidelines that assist novice pair programmers to improve their experience of pair communication.

    Findings indicate that introducing these guidelines to novice student pairs can have a positive impact on their perception of intra-pair communication, and on their perception of their partner’s contribution. Feedback received from expert pairs was used to add detail to the guidelines, which have been made publically available through an online resource.
    Date of Award2014
    Original languageEnglish
    SupervisorJanet Hughes (Supervisor)


    • pair programming
    • communication
    • agile
    • grounded theory
    • computer science education

    Cite this