A comparison of pair versus solo programming under different objectives: An analytical approach

被引:26
作者
Dawande, Milind [1 ]
Johar, Monica [2 ]
Kumar, Subodha [3 ]
Mookerjee, Vijay S. [4 ]
机构
[1] Univ Texas Dallas, Sch Comp Sci, Sch Management, Richardson, TX 75083 USA
[2] Univ N Carolina, Belk Coll Business, Charlotte, NC 28223 USA
[3] Univ Washington, Michael G Foster Sch Business, Seattle, WA 98195 USA
[4] Univ Texas Richardson, Sch Management, Richardson, TX 75083 USA
关键词
extreme programming; software development methodology; pair programming; integer programming; genetic algorithms; heuristics;
D O I
10.1287/isre.1070.0147
中图分类号
G25 [图书馆学、图书馆事业]; G35 [情报学、情报工作];
学科分类号
1205 ; 120501 ;
摘要
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.
引用
收藏
页码:71 / 92
页数:22
相关论文
共 40 条
[1]   A greedy genetic algorithm for the quadratic assignment problem [J].
Ahuja, RK ;
Orlin, JB ;
Tiwari, A .
COMPUTERS & OPERATIONS RESEARCH, 2000, 27 (10) :917-934
[2]  
Ambler S., 2002, AGILE MODELING EFFEC
[3]  
[Anonymous], DIMACS SERIES DISCRE
[4]  
Astels D., 2002, A Practical Guide to eXtreme Programming
[5]  
Baecker Ronald M., 1995, READINGS HUMAN COMPU
[6]  
Beck K., 2004, Extreme Programming Explained: Embrace Change, V2nd
[7]  
Beck Kent, 2001, Planning extreme programming
[8]  
BENEDICENTI L, 2001, P 2 INT C EXTREME PR
[9]   ORGANIZATIONAL LEARNING AND COMMUNITIES-OF-PRACTICE: TOWARD A UNIFIED VIEW OF WORKING, LEARNING, AND INNOVATION [J].
Brown, John Seely ;
Duguid, Paul .
ORGANIZATION SCIENCE, 1991, 2 (01) :40-57
[10]  
BURILL D, 1997, MODELING INTERPRETIN