Coordination Breakdowns and Their Impact on Development Productivity and Software Failures

Coordination Breakdowns and Their Impact on Development Productivity and Software Failures
复制标题

协调故障及其对开发生产力和软件故障的影响

DOI:
10.1109/tse.2012.32
复制
发表时间:
2013
影响因子:
7.4
通讯作者:
Herbsleb, James D.
Herbsleb, James D.
中科院分区:
计算机科学1区
文献类型:
--
作者:
Cataldo, Marcelo;Herbsleb, James D.

文献摘要

被引文献

相似文献

软件开发项目的成功取决于在开发过程的多个阶段中仔细协调许多人的工作。在软件工程中,模块化是一种传统的技术,旨在减少构成系统的模块之间的相互依赖性。该理论认为,减少技术依赖性会减少开发相互依赖模块的团队之间的工作依赖性。虽然这一研究潮流已经相当有影响力,它认为在工程活动的协调问题的静态视图。建立在一个动态的协调观,我们研究了社会技术一致性和软件质量和开发生产力之间的关系。为了研究我们的研究结果的一般性,我们的分析进行了两个大规模的项目,从两个公司具有不同的特点,在产品和工艺成熟度。我们的研究结果表明,协调需求和开发人员进行的实际协调活动之间的差距显着增加了软件故障。我们的分析还表明,更高水平的一致性与提高发展生产力有关。最后,我们的研究结果表明,依赖和协调行动之间的一致性是至关重要的,无论是在成熟的发展环境,以及在新的和动态的发展背景。
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.