Experienced Pair Programmers Write Better Code

According to a recent study by Andreas Höfer, experienced pair programmers write better code than novice pair programmers. This is in line with a study by Hannay et al. from last year where the researchers found that experience was a key performance predictor in pair programming.

It is interesting to note that skill and experience is shown again and again to beat other factors such as youth or personality. What does this imply for the way you manage your talents?


  • [DOI] J. E. Hannay, E. Arisholm, H. Engvik, and D. I. K. Sj{o}berg, “Effects of personality on pair programming,” Ieee transactions on software engineering, vol. 36, iss. 1, pp. 61-80, 2009.
    abstract = {Personality tests in various guises are commonly used in recruitment and career counseling industries. Such tests have also been considered as instruments for predicting the job performance of software professionals both individually and in teams. However, research suggests that other human-related factors such as motivation, general mental ability, expertise, and task complexity also affect the performance in general. This paper reports on a study of the impact of the Big Five personality traits on the performance of pair programmers together with the impact of expertise and task complexity. The study involved 196 software professionals in three countries forming 98 pairs. The analysis consisted of a confirmatory part and an exploratory part. The results show that: 1) Our data do not confirm a meta-analysis-based model of the impact of certain personality traits on performance and 2) personality traits, in general, have modest predictive value on pair programming performance compared with expertise, task complexity, and country. We conclude that more effort should be spent on investigating other performance-related predictors such as expertise, and task complexity, as well as other promising predictors, such as programming skill and learning. We also conclude that effort should be spent on elaborating on the effects of personality on various measures of collaboration, which, in turn, may be used to predict and influence performance. Insights into such malleable, rather than static, factors may then be used to improve pair programming performance.},
    address = {Piscataway, NJ, USA},
    author = {Hannay, Jo E. and Arisholm, Erik and Engvik, Harald and Sj{\o}berg, Dag I. K.},
    citeulike-article-id = {9782651},
    citeulike-linkout-0 = {http://portal.acm.org/citation.cfm?id=1729475.1729594},
    citeulike-linkout-1 = {http://doi.ieeecomputersociety.org/10.1109/TSE.2009.41},
    citeulike-linkout-2 = {http://dx.doi.org/10.1109/tse.2009.41},
    day = {12},
    doi = {10.1109/tse.2009.41},
    issn = {0098-5589},
    journal = {IEEE Transactions on Software Engineering},
    keywords = {20110919a},
    month = jun,
    number = {1},
    pages = {61--80},
    posted-date = {2011-09-19 13:52:43},
    priority = {2},
    publisher = {IEEE Computer Society},
    title = {Effects of Personality on Pair Programming},
    url = {http://dx.doi.org/10.1109/tse.2009.41},
    volume = {36},
    year = {2009}
  • [DOI] A. Höfer, “Exploratory comparison of expert and novice pair programmers software engineering techniques,” , Z. Huzar, R. Koci, B. Meyer, B. Walter, and J. Zendulka, Eds., Berlin, Heidelberg: Springer Berlin / Heidelberg, 2011, vol. 4980, pp. 218-231.
    abstract = {We conducted a quasi-experiment comparing novice pair programmers to expert pair programmers. The expert pairs wrote tests with a higher instruction, line, and method coverage but were slower than the novices. The pairs within both groups switched keyboard and mouse possession frequently. Furthermore, most pairs did not share the input devices equally but rather had one partner who is more active than the other.},
    address = {Berlin, Heidelberg},
    author = {H\"{o}fer, Andreas},
    chapter = {17},
    citeulike-article-id = {9782639},
    citeulike-linkout-0 = {http://dx.doi.org/10.1007/978-3-642-22386-0_17},
    citeulike-linkout-1 = {http://www.springerlink.com/content/54u8k48344287803},
    doi = {10.1007/978-3-642-22386-0_17},
    editor = {Huzar, Zbigniew and Koci, Radek and Meyer, Bertrand and Walter, Bartosz and Zendulka, Jaroslav},
    isbn = {978-3-642-22385-3},
    keywords = {20110919a},
    pages = {218--231},
    posted-date = {2011-09-19 13:46:22},
    priority = {2},
    publisher = {Springer Berlin / Heidelberg},
    series = {Lecture Notes in Computer Science},
    title = {Exploratory Comparison of Expert and Novice Pair Programmers Software Engineering Techniques},
    url = {http://dx.doi.org/10.1007/978-3-642-22386-0_17},
    volume = {4980},
    year = {2011}

About Greger Wikstrand

Greger Wikstrand, Ph.D. M.Sc. is a TOGAF 9 certified enterprise architect with an interest in e-heatlh, m-health and all things agile as well as processes, methods and tools. Greger Wikstrand works as a consultant at Capgemini where he alternates between enterprise agile coaching, problem solving and designing large scale e-health services ...


  1. Pingback: Agile Project Manager » Blog Archive » 12 Key Agile Practices

  2. Pingback: Hiring team members - Greger Wikstrand

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>