Dependencies in geographically distributed software development: overcoming the limits of modularity

  • Authors:
  • Kathleen M. Carley;James D. Herbsleb;Marcelo Cataldo

  • Affiliations:
  • Carnegie Mellon University;Carnegie Mellon University;Carnegie Mellon University

  • Venue:
  • Dependencies in geographically distributed software development: overcoming the limits of modularity
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Geographically distributed software development (GDSD) is becoming pervasive. Hence, the constraints in communication and its negative impact of developers' ability to coordinate effectively is a growing problem that consistently results in sub-par performance of GDSD teams. Past research argues that geographically distributed teams do better when their work is almost independent from each other. In software engineering, modularization is the traditional technique intended to reduce the interdependencies among modules that constitutes a system. The modular design argument suggests that by reducing the technical dependencies, the work dependencies between teams developing interdependent modules are also reduced. Consequently, a modular product structure leads to an equivalent modular task structure. This dissertation argues that modularization is not a sufficient representation of work dependencies in the context of software development and it proposes a method for measuring socio-technical congruence, defined as the relationship between the structure of work dependencies and the coordination patterns of the organization doing the technical work. Two empirical studies assessed the impact of socio-technical congruence on development productivity and product quality. In addition, a third empirical study explores how developers in a geographically distributed software development organization evolve their coordination patterns to overcome the limitations of the modular design approach. This dissertation has important contributions to the software engineering, CSCW and organizational literatures. First, the empirical evaluation of the congruence framework showed the importance of understanding the dynamic nature of software development. Secondly, this dissertation moves forward our understanding of the relationship between product and work dependencies and software quality. Logical dependencies among software modules and work dependencies were found to be two very significant factors affecting the failure proneness of software modules. Finally, the longitudinal analysis of coordination activities revealed that developers centrally positioned in the social system of information exchanges and coordination activities performed a critical bridging function across formal teams and geographical locations, while contributing a significant portion of the development effort in terms of implementing the software system.