Empirical assessment of the adoption, use, and effects of pair programming

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Doctoral thesis (article-based)
Checking the digitized thesis and permission for publishing
Instructions for the author

Date

2011

Major/Subject

Mcode

Degree programme

Language

en

Pages

Verkkokirja (372 KB, 42 s.)

Series

Aalto University publication series DOCTORAL DISSERTATIONS , 135/2011

Abstract

Developing large software systems requires team work, which in turn calls for lots of communication within the team. However, programming is typically conducted alone by individual software developers. Pair programming, where two persons actively collaborate in the implementation of a single task, is an alternative way of developing software. It has been proposed as a means to increasing software quality, knowledge transfer and learning, among other things. This research studied the adoption, use, and effects of pair programming through a literature study and three empirical studies. The literature study was a systematic mapping study of the previous pair programming research in the industry. The empirical studies consisted of two long industry case studies and an experiment where project teams consisting of experienced students conducted a moderately large software development project. The systematic mapping study analyzed the content of 154 papers. It identified industrially relevant aspects of pair programming and organized them as a pair programming framework containing additional and more detailed aspects of pair programming over the previously published frameworks. The framework grouped all the identified aspects under eighteen factors of pair programming, for which their state of research was analyzed. The analysis showed that of many factors, only a few or no studies had been conducted using rigorous research approaches and data collection methods. The adoption and use of pair programming were analyzed in the two case studies. In the larger, more established organization, there were issues with adoption, related to both infrastructure and organizing of pair programming. A separate pair programming room was a successful solution to the infrastructural issues. However, lack of time for pair programming due to insufficient organizing of its use, remained an issue at the end of the study. The effects of pair programming on software quality and developers' knowledge were positive in all three empirical studies, but the development effort for individual tasks increased. The increase in effort occurred mainly when using pair programming for simple tasks or during the beginning of a project, when the developers were learning pair programming and getting to know one another.

Description

Supervising professor

Lassenius, Casper, Prof.

Keywords

pair programming, empirical research, industry

Other note

Parts

  • [Publication 1]: Jari Vanhanen and Mika V. Mäntylä. A systematic mapping study of empirical studies on the use of pair programming by professional developers. IEEE Transactions on Software Engineering, submitted for review in March 2011, 17 pages + 15 appendix pages.
  • [Publication 2]: Jari Vanhanen, Casper Lassenius, and Mika V. Mäntylä. 2007. Issues and tactics when adopting pair programming: A longitudinal case study. In: Bob Werner (editor). Proceedings of the Second International Conference on Software Engineering Advances (ICSEA 2007). Cap Esterel, France. 25-31 August 2007. Los Alamitos, California, USA. IEEE Computer Society. 70, 7 pages. ISBN 978-0-7695-2937-0. © 2007 Institute of Electrical and Electronics Engineers (IEEE). By permission.
  • [Publication 3]: Jari Vanhanen and Casper Lassenius. 2007. Perceived effects of pair programming in an industrial context. In: Paul Müller, Peter Liggesmeyer, and Erik Maehle (editors). Proceedings of the 33rd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO-SEAA 2007). Lübeck, Germany. 28-31 August 2007. Los Alamitos, California, USA. IEEE Computer Society. Pages 211-218. ISBN 978-0-7695-2977-6. © 2007 Institute of Electrical and Electronics Engineers (IEEE). By permission.
  • [Publication 4]: Jari Vanhanen and Harri Korpi. 2007. Experiences of using pair programming in an agile project. In: Ralph H. Sprague, Jr. (editor). Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS 2007). Waikoloa, Hawaii, USA. 3-6 January 2007. Los Alamitos, California, USA. IEEE Computer Society. 274b, 10 pages. ISBN 978-0-7695-2755-0. © 2007 Institute of Electrical and Electronics Engineers (IEEE). By permission.
  • [Publication 5]: Jari Vanhanen and Casper Lassenius. 2005. Effects of pair programming at the development team level: An experiment. In: Lucila Carvalho (editor). Proceedings of the 4th International Symposium on Empirical Software Engineering (ISESE 2005). Noosa Heads, Queensland, Australia. 17-18 November 2005. IEEE. Pages 336-345. ISBN 0-7803-9507-7. © 2005 Institute of Electrical and Electronics Engineers (IEEE). By permission.

Citation