A Longitudinal Study of Identifying and Paying Down Architecture Debt

A Longitudinal Study of Identifying and Paying Down Architecture Debt
复制标题

DOI:
10.1109/icse-seip.2019.00026
复制
发表时间:
2018-11
期刊:
2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)
影响因子:
--
通讯作者:
Maleknaz Nayebi;Yuanfang Cai;R. Kazman;G. Ruhe;Qiong Feng;Chris Carlson;Francis Chew
Maleknaz Nayebi;Yuanfang Cai;R. Kazman;G. Ruhe;Qiong Feng;Chris Carlson;Francis Chew
中科院分区:
其他
文献类型:
--
作者:
Maleknaz Nayebi;Yuanfang Cai;R. Kazman;G. Ruhe;Qiong Feng;Chris Carlson;Francis Chew

文献摘要

被引文献

相似文献

建筑债务是一种技术债务形式,它源于预期和实际建筑设计之间的差距。在这项研究中,我们以两种方式测量了建筑债务:1)根据系统范围的耦合度量,以及2)建筑缺陷的数量和严重性。在最近的研究中,结果表明,建筑债务的数量对软件可维护性和进化产生了巨大影响。因此,减少债务预计会使软件降低成本降低,并且更适合更改。本文报告了一项由Brightsquid Secure Communications Corp创建的医疗保健通信产品的纵向研究。这家年轻的公司正面临着希望对变化请求的响应能力的典型权衡问题,但希望避免不断增加的努力,即积累的积累快速变化最终会产生。在研究的第一阶段,我们分析了“前”系统的状态,该系统显示了变更请求的影响。这项最初的研究促使对建筑债务进行更深入的分析。在工作的第二阶段使用了这种债务分析的结果,以激发软件系统的全面重构。第三阶段是后续建筑债务分析,量化了所实现的改进。利用这些定量证据,从与Brightsquid的建筑师进行深入的访谈中收集的定性证据增强,我们向我们介绍了有关在实践中偿还建筑债务的成本和收益的经验教训。
Architecture debt is a form of technical debt that derives from the gap between the intended and the actual architecture design. In this study we measured architecture debt in two ways: 1) in terms of system-wide coupling measures, and 2) in terms of the number and severity of architecture flaws. In recent research it was shown that the amount of architecture debt has a huge impact on software maintainability and evolution. Consequently, reducing debt is expected to make software less costly and more amenable to change. This paper reports on a longitudinal study of a healthcare communications product created by BrightSquid Secure Communications Corp. This young company is facing the typical trade-off problem of desiring responsiveness to change requests, but wanting to avoid the ever-increasing effort that the accumulation of quick-and-dirty changes eventually incurs. In the first stage of the study, we analyzed the status of the "before" system, which showed the impacts of change requests. This initial study motivated a more in-depth analysis of architecture debt. The results of this debt analysis were used in the second stage of the work to motivate a comprehensive refactoring of the software system. The third stage was a follow-on architecture debt analysis which quantified the improvements realized. Using this quantitative evidence, augmented by qualitative evidence gathered from in-depth interviews with BrightSquid's architects, we present lessons learned about the costs and benefits of paying down architecture debt in practice.