Measuring and Monitoring Technical Debt

被引:122
作者
Seaman, Carolyn [1 ]
Guo, Yuepu [1 ]
机构
[1] Univ Maryland Baltimore Cty, Dept Informat Syst, Baltimore, MD 21228 USA
来源
ADVANCES IN COMPUTERS, VOL 82 | 2011年 / 82卷
关键词
D O I
10.1016/B978-0-12-385512-1.00002-5
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Technical debt is a metaphor for immature, incomplete, or inadequate artifacts in the software development lifecycle that cause higher costs and lower quality in the long run. These artifacts remaining in a system affect subsequent development and maintenance activities, and so can be seen as a type of debt that the system developers owe the system. Incurring technical debt may speed up software development in the short run, but such benefit is achieved at the cost of extra work in the future, as if paying interest on the debt. In this sense, the technical debt metaphor characterizes the relationship between the short-term benefits of delaying certain software maintenance tasks or doing them quickly and less carefully, and the long-term cost of those delays. However, managing technical debt is more complicated than managing financial debt because of the uncertainty involved. In this chapter, the authors review the main issues associated with technical debt, and propose a technical debt management framework and a research plan for validation. The objective of our research agenda is to develop and validate a comprehensive technical debt theory that formalizes the relationship between the cost and benefit sides of the concept. Further, we propose to use the theory to propose mechanisms (processes and tools) for measuring and managing technical debt in software product maintenance. The theory and management mechanisms are intended ultimately to contribute to the improved quality of software and facilitate decision making in software maintenance.
引用
收藏
页码:25 / 46
页数:22
相关论文
共 33 条
[11]   RISK MANAGEMENT FOR SOFTWARE PROJECTS [J].
FAIRLEY, R .
IEEE SOFTWARE, 1994, 11 (03) :57-67
[12]  
Fowler M., 2003, Technical Debt
[13]  
Fowler M., 2018, Refactoring: Improving the Design of Existing Code
[14]  
GUO Y, 2010, P 32 ACM IEEE INT C, P167, DOI DOI 10.1145/1810295.1810321
[15]  
*ISO, 2003, ISO20926 II STAND SO
[16]   A review of studies on expert estimation of software development effort [J].
Jorgensen, M .
JOURNAL OF SYSTEMS AND SOFTWARE, 2004, 70 (1-2) :37-60
[17]   Forecasting of software development work effort: Evidence on expert judgement and formal models [J].
Jorgensen, Magne .
INTERNATIONAL JOURNAL OF FORECASTING, 2007, 23 (03) :449-462
[18]   Software quality: The elusive target [J].
Kitchenham, B ;
Pfleeger, SL .
IEEE SOFTWARE, 1996, 13 (01) :12-&
[19]   Comparing high-change modules and modules with the highest measurement values in two large-scale open-source products [J].
Koru, AG ;
Tian, JJ .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2005, 31 (08) :625-642
[20]  
Lanza Michele, 2006, Objectoriented metrics in practice: using software metrics to characterize, evaluate, and improve the design of object-oriented systems