Coordination of engineering decisions is a central concern of software engineering. We present a theory in which coordination of engineering decisions is modeled as a distributed constraint satisfaction problem (DCSP). We derive six hypotheses, predicting how the distribution of decisions over developers and the density of constraints among decisions will affect development time, probability that a file contains a field defect, and developer productivity. We test these hypotheses using data from a commercial project. We find support for all hypotheses predicting detrimental effects from poor distribution of decisions over developers. The effects of constraint density were mixed, showing that dense constraints slowed development but did not significantly affect productivity. Dense data dependencies increased the chances that a file contained a field defect, but, very surprisingly, dense call dependencies significantly lowered the chances that a file contained a field defect. We discuss the implications of these findings.
Herbsleb, James and Roberts, Jeff, "Collaboration In Software Engineering Projects: A Theory Of Coordination" (2006). ICIS 2006 Proceedings. 38.