Maximum Commonality Problems: Applications and Analysis

Recently, an agile software development technique called extreme programming has caught the attention of practitioners and researchers in the software industry. A core practice of extreme programming is pair programming , where two developers work on the same piece of code. We introduce the problem...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Management science Jg. 54; H. 1; S. 194 - 207
Hauptverfasser: Dawande, Milind, Kumar, Subodha, Mookerjee, Vijay, Sriskandarajah, Chelliah
Format: Journal Article
Sprache:Englisch
Veröffentlicht: Linthicum, MD INFORMS 01.01.2008
Institute for Operations Research and the Management Sciences
Schriftenreihe:Management Science
Schlagworte:
ISSN:0025-1909, 1526-5501
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Recently, an agile software development technique called extreme programming has caught the attention of practitioners and researchers in the software industry. A core practice of extreme programming is pair programming , where two developers work on the same piece of code. We introduce the problem of assigning pairs of developers to modules so as to maximize the commonality—a measure of the extent to which common developers work on related modules—subject to a load-balancing constraint that is motivated by the need to control the completion time of the project. We consider two variants of this problem. In MCAP n , a developer is teamed up with exactly one other developer to form a pair that works together for the entire duration of the project. In MCAP s , we allow a developer to pair with more than one other developer during the project. This "pair-splitting" version of the problem facilitates knowledge dissemination among developers, but can increase the effort needed for a developer to adjust to the work habits of several partners. The difference between the commonality achieved with and without pair splitting crucially depends on the underlying structure of the problem. For trees, we show that the value of the maximum commonality is the same for both MCAP n and MCAP s . Additionally, we obtain polynomial-time algorithms for both of these variants. For general graphs, both problems MCAP n and MCAP s are shown to be strongly NP-complete. We prove that the maximum commonality for MCAP s is at most 3/2 times the maximum commonality of MCAP n . We also provide polynomial-time algorithms and approximation results for a number of special cases of these problems.
Bibliographie:SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 14
ObjectType-Article-2
content type line 23
ISSN:0025-1909
1526-5501
DOI:10.1287/mnsc.1070.0766