|
CMU-ISR-10-104
Institute for Software Research
School of Computer Science, Carnegie Mellon University
CMU-ISR-10-104
Coordination Breakdowns and their Impact on
Development Productivity and Software Failures
Marcelo Cataldo, James D. Herbsleb
March 2010
CMU-ISR-10-104.pdf
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
|