Pair programming and its impact on software quality: Master's thesis

Hanna Hulkko

Research output: ThesisMaster's thesisTheses

Abstract

This study concentrates on pair programming, which is a practice of Extreme Programming. Pair programming is a programming technique in which two programmers use one computer to work together on the same task. Special focus is placed on examining the impact of pair programming on software quality, especially on maintainability and reliability. The purpose of this study was twofold: to collect and analyze the current knowledge on pair programming, and to study the selected aspect related to pair programming empirically. First, a literature survey was performed to summarize the findings of the existing empirical studies on pair programming in order to evaluate the current state of knowledge. Based on the literature survey, it was concluded that pair programming raises the development costs of a software development project because of increased effort expenditure. However, there were initial findings indicating, that these additional costs would be compensated in later phases of the software project in the form of improved quality. The second part of the study consisted of an empirical evaluation of pair programming through four case studies. Its purpose was twofold: the first goal was to present empirical metrics related to the practical application of pair programming, and the second goal was to investigate the impact of pair programming on software quality characteristics maintainability and reliability. Based on the empirical findings, it was concluded that pair programming does not seem to provide as extensive quality benefits as suggested in the literature, and on the other hand, does not result in consistently superior productivity when compared to solo programming. Thus, the results indicated that pair programming is not as cost-beneficial as previously suggested in the literature.
Original languageEnglish
QualificationMaster Degree
Awarding Institution
  • University of Oulu
Place of PublicationOulu
Publisher
Publication statusPublished - 2004
MoE publication typeG2 Master's thesis, polytechnic Master's thesis

Fingerprint

Programming
Software quality
Costs
Literature survey
Productivity
Empirical evaluation
Software
Expenditure
Empirical study
Software development
Development projects
Extreme programming
Quality characteristics

Keywords

  • Agile software development
  • extreme programming
  • maintainability
  • reliability
  • empirical software engineering

Cite this

Hulkko, H. (2004). Pair programming and its impact on software quality: Master's thesis. Oulu: University of Oulu.
Hulkko, Hanna. / Pair programming and its impact on software quality : Master's thesis. Oulu : University of Oulu, 2004. 96 p.
@phdthesis{8a781f176123403fa65d107301b93341,
title = "Pair programming and its impact on software quality: Master's thesis",
abstract = "This study concentrates on pair programming, which is a practice of Extreme Programming. Pair programming is a programming technique in which two programmers use one computer to work together on the same task. Special focus is placed on examining the impact of pair programming on software quality, especially on maintainability and reliability. The purpose of this study was twofold: to collect and analyze the current knowledge on pair programming, and to study the selected aspect related to pair programming empirically. First, a literature survey was performed to summarize the findings of the existing empirical studies on pair programming in order to evaluate the current state of knowledge. Based on the literature survey, it was concluded that pair programming raises the development costs of a software development project because of increased effort expenditure. However, there were initial findings indicating, that these additional costs would be compensated in later phases of the software project in the form of improved quality. The second part of the study consisted of an empirical evaluation of pair programming through four case studies. Its purpose was twofold: the first goal was to present empirical metrics related to the practical application of pair programming, and the second goal was to investigate the impact of pair programming on software quality characteristics maintainability and reliability. Based on the empirical findings, it was concluded that pair programming does not seem to provide as extensive quality benefits as suggested in the literature, and on the other hand, does not result in consistently superior productivity when compared to solo programming. Thus, the results indicated that pair programming is not as cost-beneficial as previously suggested in the literature.",
keywords = "Agile software development, extreme programming, maintainability, reliability, empirical software engineering",
author = "Hanna Hulkko",
note = "CA: ELE pro gradu Master's thesis Oulun yliopisto ; S{\"a}hk{\"o}- ja tietotekniikan osasto",
year = "2004",
language = "English",
publisher = "University of Oulu",
address = "Finland",
school = "University of Oulu",

}

Hulkko, H 2004, 'Pair programming and its impact on software quality: Master's thesis', Master Degree, University of Oulu, Oulu.

Pair programming and its impact on software quality : Master's thesis. / Hulkko, Hanna.

Oulu : University of Oulu, 2004. 96 p.

Research output: ThesisMaster's thesisTheses

TY - THES

T1 - Pair programming and its impact on software quality

T2 - Master's thesis

AU - Hulkko, Hanna

N1 - CA: ELE pro gradu Master's thesis Oulun yliopisto ; Sähkö- ja tietotekniikan osasto

PY - 2004

Y1 - 2004

N2 - This study concentrates on pair programming, which is a practice of Extreme Programming. Pair programming is a programming technique in which two programmers use one computer to work together on the same task. Special focus is placed on examining the impact of pair programming on software quality, especially on maintainability and reliability. The purpose of this study was twofold: to collect and analyze the current knowledge on pair programming, and to study the selected aspect related to pair programming empirically. First, a literature survey was performed to summarize the findings of the existing empirical studies on pair programming in order to evaluate the current state of knowledge. Based on the literature survey, it was concluded that pair programming raises the development costs of a software development project because of increased effort expenditure. However, there were initial findings indicating, that these additional costs would be compensated in later phases of the software project in the form of improved quality. The second part of the study consisted of an empirical evaluation of pair programming through four case studies. Its purpose was twofold: the first goal was to present empirical metrics related to the practical application of pair programming, and the second goal was to investigate the impact of pair programming on software quality characteristics maintainability and reliability. Based on the empirical findings, it was concluded that pair programming does not seem to provide as extensive quality benefits as suggested in the literature, and on the other hand, does not result in consistently superior productivity when compared to solo programming. Thus, the results indicated that pair programming is not as cost-beneficial as previously suggested in the literature.

AB - This study concentrates on pair programming, which is a practice of Extreme Programming. Pair programming is a programming technique in which two programmers use one computer to work together on the same task. Special focus is placed on examining the impact of pair programming on software quality, especially on maintainability and reliability. The purpose of this study was twofold: to collect and analyze the current knowledge on pair programming, and to study the selected aspect related to pair programming empirically. First, a literature survey was performed to summarize the findings of the existing empirical studies on pair programming in order to evaluate the current state of knowledge. Based on the literature survey, it was concluded that pair programming raises the development costs of a software development project because of increased effort expenditure. However, there were initial findings indicating, that these additional costs would be compensated in later phases of the software project in the form of improved quality. The second part of the study consisted of an empirical evaluation of pair programming through four case studies. Its purpose was twofold: the first goal was to present empirical metrics related to the practical application of pair programming, and the second goal was to investigate the impact of pair programming on software quality characteristics maintainability and reliability. Based on the empirical findings, it was concluded that pair programming does not seem to provide as extensive quality benefits as suggested in the literature, and on the other hand, does not result in consistently superior productivity when compared to solo programming. Thus, the results indicated that pair programming is not as cost-beneficial as previously suggested in the literature.

KW - Agile software development

KW - extreme programming

KW - maintainability

KW - reliability

KW - empirical software engineering

M3 - Master's thesis

PB - University of Oulu

CY - Oulu

ER -

Hulkko H. Pair programming and its impact on software quality: Master's thesis. Oulu: University of Oulu, 2004. 96 p.