Effects of pair programming at the development team level: an experiment

@article{Vanhanen2005EffectsOP,
  title={Effects of pair programming at the development team level: an experiment},
  author={Jari Vanhanen and Casper Lassenius},
  journal={2005 International Symposium on Empirical Software Engineering, 2005.},
  year={2005},
  pages={10 pp.-}
}
  • Jari Vanhanen, C. Lassenius
  • Published 5 December 2005
  • Computer Science
  • 2005 International Symposium on Empirical Software Engineering, 2005.
We studied the effects of pair programming in a team context on productivity, defects, design quality, knowledge transfer and enjoyment of work. Randomly formed three pair programming and two solo programming teams performed the same 400-hour fixed-effort project. Pair programming increased the development effort of the first tasks considerably compared to solo programming, but later the differences were small. Due to this learning time the pair programming teams had worse overall project… 

Figures and Tables from this paper

Perceived Effects of Pair Programming in an Industrial Context
  • Jari Vanhanen, P. Abrahamsson
  • Psychology
    33rd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO 2007)
  • 2007
TLDR
The positive effects of PP were largest for learning, schedule adherence of tasks, getting to know other developers, and team spirit, while the development effort for individual features was higher and the exhaustiveness of work was perceived higher.
Reducing Defects in Software Development Process using Pair Programming
TLDR
The results show that defects appear to be lower for the code modified during pair programming, and formulates a hypothesis that pair programming is effective in reducing the introduction of new defects when existing code is modified.
Are Two Heads Better than One for Software Development? The Productivity Paradox of Pair Programming
TLDR
Comparing the performance effectiveness and affective responses of collaborating pairs with those of individual programmers treated as nominal pairs showed no evidence of an "assembly bonus effect," and programming pairs reported higher levels of satisfaction and confidence in their performance compared to those of the second-best members.
Understanding the impact of Pair Programming on developers attention: A case study on a large industrial experimentation
TLDR
This paper investigates how Pair Programming affects the way developers write code and interact with their development machine and finds out that Pair Programming helps developers to eliminate distracting activities and to focus on productive activities.
Experiences of Using Pair Programming in an Agile Project
  • Jari Vanhanen, Harri Korpi
  • Computer Science
    2007 40th Annual Hawaii International Conference on System Sciences (HICSS'07)
  • 2007
TLDR
Experiences of using PP extensively in an industrial project showed that PP improved quality and knowledge transfer, and was better suited for complex tasks than for easy tasks, while test-driven development and design in pairs possibly decreased defects.
Productivity of Pair Programming in a Distributed Environment - Results from Two Controlled Case Studies
TLDR
The results show that very high level of PP use might be difficult to achieve in a very tightly scheduled software development project, but some of the benefits can be seen to come true even with proportional use of PP.
Optimising Pair Programming in a Scholastic Framework: A Design Pattern Perspective
TLDR
A systematic investigation on pairing by contemplating a pair programming scenario from a design pattern perspective has been presented and results were obtained using JavaNCSS tool by considering software code metrics which indicated that pair programming can be beneficial in a scholastic framework.
Are Two Heads Better than One? On the Effectiveness of Pair Programming
TLDR
This article concentrates on understanding general aspects related to effectiveness, specifically project duration, effort, and quality.
Pair Programming and Software Defects - An Industrial Case Study
TLDR
The results show that defects appear to be lower for the code modified during pair programming, which forms a hypothesis that pair programming is effective in reducing the introduction of new defects when existing code is modified.
Inverted pair programming
TLDR
The results of this experiment point in favor of inverted pair programming methodology and do not support the claim that pair programming in general reduces the software development duration or overall software development cost.
...
...

References

SHOWING 1-10 OF 66 REFERENCES
A field study of developer pairs: productivity impacts and implications
TLDR
It is shown that two-person teams working independently are more productive than those working concurrently; agile methods may overcome inherent productivity losses of concurrent development.
Exploring the Efficacy of Distributed Pair Programming
TLDR
The results of the experiment indicate that it is feasible to develop software using distributed pair programming, and that the resulting software is comparable to software developed in collocated or virtual teams (without pair programming) in productivity and quality.
When Does a Pair Outperform Two Individuals?
TLDR
The findings indicate that simple design, refactoring, and rapid feedback provide an excellent continuous-design environment for higher productivity in pair programming.
Analyzing the cost and benefit of pair programming
  • F. Padberg, Matthias M. Müller
  • Computer Science
    Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717)
  • 2003
TLDR
Results clearly show that one must consider metrics from different categories in combination to assess the cost-benefit relation of pair programming, and there also are realistic scenarios where the opposite is true.
Experiences with a Case Study on Pair Programming
TLDR
A case study conducted in the context of a more realistic task within a university practical course, conducted in teams of six students and comprising about 700 person-hours of total effort was able to find weak support for the results achieved in earlier studies.
Building pair programming knowledge through a family of experiments
TLDR
Pair programming is a practice in which two programmers work collaboratively at one computer on the same design, algorithm, code, or test and students in paired classes continue to be successful in subsequent programming classes that require solo programming.
Modeling the impact of a learning phase on the business value of a pair programming project
TLDR
The authors' simulations show that the cost of the warmup phase is reasonably small compared to the project value, but nonetheless must be taken into account when estimating the project, and suggest that the learning overhead is not an obstacle to introducing and using pair programming in a real environment.
Improving the CS1 experience with pair programming
TLDR
An experiment was run to assess the efficacy of pair programming in an introductory Computer Science course; results indicate that pair programming creates a laboratory environment conducive to more advanced, active learning than traditional labs; students and lab instructors report labs to be more productive and less frustrating.
Experimental Evaluation of Pair Programming
TLDR
Two variants of individual programming are compared: one of them is based on Personal Software Process that has been proposed by W. Humphrey, and the other is a variant of eXtreme Programming tailored to individuals.
The costs and benefits of pair programming
TLDR
It is found that for a development-time cost of about 15%, pair programming improves design quality, reduces defects, reduces staffing risk, enhances technical skills, improves team communications and is considered more enjoyable at statistically significant levels.
...
...