Title :
Coordination Breakdowns and Their Impact on Development Productivity and Software Failures
Author :
Cataldo, Marcelo ; Herbsleb, James D.
Author_Institution :
Res. & Technol. Center, Robert Bosch LLC, Pittsburgh, PA, USA
Abstract :
The success of software development projects depends on carefully 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. Although that research stream has been quite influential, it considers a static view of the problem of coordination in engineering activities. Building on a dynamic view of coordination, we studied the relationship between socio-technical congruence and software quality and development productivity. In order to investigate the generality of our findings, our analyses were performed on two large-scale projects from two companies with distinct characteristics in terms of product and process maturity. Our results revealed that the gaps between coordination requirements and the actual coordination activities carried out by the developers significantly increased software failures. Our analyses also showed that higher levels of congruence are associated with improved development productivity. Finally, our results showed the congruence between dependencies and coordinative actions is critical both in mature development settings as well as in novel and dynamic development contexts.
Keywords :
software metrics; software quality; software reliability; coordination activity; coordination breakdowns; coordination requirements; development process; development productivity; dynamic development contexts; engineering activity; interdependent modules; large-scale projects; modularization; process maturity; product maturity; socio-technical congruence; software development projects; software engineering; software failures; software quality; technical dependency; work dependency; Complexity theory; Context; Organizations; Productivity; Programming; Software quality; Metrics/measurement; organizational management and coordination; productivity; quality analysis and evaluation;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.2012.32