Institute for Software Research
School of Computer Science, Carnegie Mellon University


Coordination Breakdowns and their Impact on
Development Productivity and Software Failures

Marcelo Cataldo, James D. Herbsleb

March 2010


Keywords: Metrics/measurement, productivity, organizational management and coordination, quality analysis and evaluation

The success of software development projects depends on carefully and effectively coordinating the effort of many individuals across the multiple stages of the development process. In software engineering, modularization is the traditional technique intended to reduce the interdependencies among modules that constitute a system. Reducing technical dependencies, the theory argues, results in a reduction of work dependencies between teams developing interdependent modules. Organizational researchers have proposed similar theoretical arguments. Although such research streams have been quite influential, they have taken a coarse-grain and static view of the problem of coordination in engineering activities. This paper proposes a new perspective on coordination where fine-grain and evolving dependencies are front and central. Our empirical analyses demonstrate that considering dependencies at a fine-grain level of analysis provides us deeper insight to the relationship between technical and work dependencies. Moreover, our examination of two large scale projects from two distinct companies showed that (a) logical dependencies among software entities are significantly more important in terms of coordinating development work compared to syntactic dependencies and (b) satisfying coordination needs arising from those logical software dependencies with appropriate coordinating actions results in significant improvements on development productivity as well as a significant reduction in the failure proneness of the software systems.

45 pages

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by