The doctoral dissertations of the former Helsinki University of Technology (TKK) and Aalto University Schools of Technology (CHEM, ELEC, ENG, SCI) published in electronic format are available in the electronic publications archive of Aalto University - Aaltodoc.
|
|
|
Doctoral dissertation for the degree of Doctor of Science in Technology to be presented with due permission of the School of Science for public examination and debate in Auditorium T2 at the Aalto University School of Science (Espoo, Finland) on the 2nd of December 2011 at 12 noon.
Overview in PDF format (ISBN 978-952-60-4413-2) [372 KB]
Dissertation is also available in print (ISBN 978-952-60-4412-5)
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.
This thesis consists of an overview and of the following 5 publications:
Keywords: pair programming, empirical research, industry
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
© 2011 Aalto University