Information Systems Research
HOME HELP FEEDBACK SUBSCRIPTIONS ARCHIVE SEARCH TABLE OF CONTENTS
 QUICK SEARCH:   [advanced]


     


INFORMATION SYSTEMS RESEARCH
Vol. 19, No. 1, March 2008, pp. 71-92
DOI: 10.1287/isre.1070.0147
This Article
Right arrow Full Text (PDF)
Right arrow References
Right arrow Alert me when this article is cited
Right arrow Alert me if a correction is posted
Services
Right arrow Email this article to a friend
Right arrow Similar articles in this journal
Right arrow Alert me to new issues of the journal
Right arrow Download to citation manager
Right arrow reprints & permissions
Citing Articles
Right arrow Citing Articles via Google Scholar
Google Scholar
Right arrow Articles by Dawande, M.
Right arrow Articles by Mookerjee, V. S.
Right arrow Search for Related Content

A Comparison of Pair Versus Solo Programming Under Different Objectives: An Analytical Approach

Milind Dawande, Monica Johar, Subodha Kumar, Vijay S. Mookerjee

School of Management and the School of Computer Science, University of Texas at Dallas, Richardson, Texas 75083
The Belk College of Business, University of North Carolina at Charlotte, Charlotte, North Carolina 28223
Michael G. Foster School of Business, University of Washington, Seattle, Washington 98195
School of Management, University of Texas at Dallas, Richardson, Texas 75083

milind{at}utdallas.edu
msjohar{at}uncc.edu
subodha{at}u.washington.edu
vijaym{at}utdallas.edu

This study compares the performances of pair development (an approach in which a pair of developers jointly work on the same piece of code), solo development, and mixed development under two separate objectives: effort minimization and time minimization. To this end, we develop analytical models to optimize module-developer assignments in each of these approaches. These models are shown to be strongly NP-hard and solved using a genetic algorithm. The solo and pair development approaches are compared for a variety of problem instances to highlight project characteristics that favor one of the two practices. We also propose a simple criterion that can reliably recommend the appropriate approach for a given problem instance. Typically, for efficient knowledge sharing between developers or for highly connected systems, the pair programming approach is preferable. Also, the pair approach is better at leveraging expertise by pairing experts with less skilled partners. Solo programming is usually desirable if the system is large or the effort needed either to form a pair or to code efficiently in pairs is high. Solo programming is also appropriate for projects with a tight deadline, whereas the reverse is true for projects with a lenient deadline. The mixed approach (i.e., an approach where both the solo and pair practices are used in the same project) is only indicated when the system consists of groups of modules that are sufficiently different from one another.

Key Words: extreme programming; software development methodology; pair programming; integer programming; genetic algorithms; heuristics
History: This paper was received on April 7, 2006.





HOME HELP FEEDBACK SUBSCRIPTIONS ARCHIVE SEARCH TABLE OF CONTENTS
Copyright © 2008 by INFORMS.