A systems interpretation of the software evolution laws and their impact on technical debt management and software maintainability

被引:1
|
作者
Franco, Eduardo Ferreira [1 ]
Hirama, Kechi [1 ]
Armenia, Stefano [2 ]
dos Santos, Joaquim Rocha [3 ]
机构
[1] Univ Sao Paulo, Dept Comp Engn, Sao Paulo, Brazil
[2] Link Campus Univ, Dept Res, Rome, Italy
[3] Univ Sao Paulo, Dept Naval Engn, Sao Paulo, Brazil
关键词
Software maintainability; Software evolution; Technical debt; System thinking; PROJECT-MANAGEMENT; DYNAMICS; INFORMATION; MODEL; FEEDBACK; THINKING; COMPLEX;
D O I
10.1007/s11219-022-09600-6
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The average lifetime of software systems has been growing steadily over the last few decades, and thus, they are demanding increasing resources to remain in operation while still meeting business needs. As a software system ages, it needs to be continuously modified and expanded to stay useful. Whether intentional or not, the various maintenance activities performed during the software's lifetime inevitably introduce quality violations, contributing to building up the software's technical debt. If these violations are not adequately addressed, they can negatively impact the software's maintainability and, thus, the software's capacity to adapt and evolve. In general terms, usually, the aim is to sustain satisfactory levels of technical quality characteristics of the software and, at the same time, preserve the maintenance costs and the tangible software asset itself at acceptable levels to organizations. The long-term impact of various maintenance investment decisions inevitability influences the software's evolutionary path, which goes through numerous iterations throughout its lifetime. This work uses the systems thinking approach to map the main concepts related to the software maintenance processes that account for this tradeoff analysis and decisions and describe their causal relationships. Moreover, it presents a systemic causal-effect relationship map capable of evidencing how some of the emergent behavior arising from long-term operating and maintaining software systems could be endogenously explained.
引用
收藏
页码:179 / 209
页数:31
相关论文
共 50 条
  • [31] Metrics for Software Quality in automated Production Systems as an Indicator for Technical Debt
    Capitan, Lorena
    Vogel-Heuser, Birgit
    2017 13TH IEEE CONFERENCE ON AUTOMATION SCIENCE AND ENGINEERING (CASE), 2017, : 709 - 716
  • [32] Do we need to pay technical debt in blockchain software systems?
    Qu, Yubin
    Bao, Tie
    Chen, Xiang
    Li, Long
    Dou, Xianzhen
    Yuan, Meng
    Wang, Hongmei
    CONNECTION SCIENCE, 2022, 34 (01) : 2026 - 2047
  • [33] Technical Debt and the Reliability of Enterprise Software Systems: A Competing Risks Analysis
    Ramasubbu, Narayan
    Kemerer, Chris F.
    MANAGEMENT SCIENCE, 2016, 62 (05) : 1487 - 1510
  • [34] Impact of release intervals on empirical research into software evolution, with application to the maintainability of Linux
    Thomas, L. G.
    Schach, S. R.
    Heller, G. Z.
    Offutt, J.
    IET SOFTWARE, 2009, 3 (01) : 58 - 66
  • [35] Analyzing Impact of Dependency Injection on Software Maintainability
    Sun, Peter
    Kim, Dae-Kyoo
    arXiv, 2022,
  • [36] Measuring Impact of Dependency Injection on Software Maintainability
    Sun, Peter
    Kim, Dae-Kyoo
    Ming, Hua
    Lu, Lunjin
    COMPUTERS, 2022, 11 (09)
  • [37] A CONTROLLED EXPERIMENT ON THE IMPACT OF SOFTWARE STRUCTURE ON MAINTAINABILITY
    ROMBACH, HD
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1987, 13 (03) : 344 - 354
  • [38] Applying Metrics to Identify and Monitor Technical Debt Items during Software Evolution
    Siebra, Clauirton A.
    Cavalcanti, Antonio
    Silva, Fabio Q. B.
    Santos, Andre L. M.
    Gouveia, Tatiana B.
    2014 IEEE INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING WORKSHOPS (ISSREW), 2014, : 92 - 95
  • [39] Debt-prone bugs: Technical debt in software maintenance
    Xuan, Jifeng
    Hu, Yan
    He, Jiang
    International Journal of Advancements in Computing Technology, 2012, 4 (19) : 453 - 461
  • [40] Integrating Technical Debt Management and Software Quality Management Processes: A Framework and Field Tests
    Ramasubbu, Narayan
    Kemerer, Chris
    PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2018, : 883 - 883