Technical Debt in Microservices: A Mixed-Method Case Study

被引:2
作者
Verdecchia, Roberto [1 ]
Maggi, Kevin [1 ]
Scommegna, Leonardo [1 ]
Vicario, Enrico [1 ]
机构
[1] Univ Florence, Dept Informat Engn, Florence, Italy
来源
SOFTWARE ARCHITECTURE: ECSA 2023 TRACKS, WORKSHOPS, AND DOCTORAL SYMPOSIUM, ECSA 2023, CASA 2023, AMP 2023, FAACS 2023, DEMESSA 2023, QUALIFIER 2023, TWINARCH 2023 | 2024年 / 14590卷
关键词
Technical Debt; Microservices; Software Evolution; TIME-SERIES;
D O I
10.1007/978-3-031-66326-0_14
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Background: Despite the rising interest of both academia and industry in microservice-based architectures and technical debt, the landscape remains uncharted when it comes to exploring the technical debt evolution in software systems built on this architecture. Aims: This study aims to unravel how technical debt evolves in software-intensive systems that utilize microservice architecture, focusing on (i) the patterns of its evolution, and (ii) the correlation between technical debt and the number of microservices. Method: We employ a mixed-method case study on an application with 13 microservices, 977 commits, and 38k lines of code. Our approach combines repository mining, automated code analysis, and manual inspection. The findings are discussed with the lead developer in a semi-structured interview, followed by a reflexive thematic analysis. Results: Despite periods of no TD growth, TD generally increases over time. TD variations can occur irrespective of microservice count or commit activity. TD and microservice numbers are often correlated. Adding or removing a microservice impacts TD similarly, regardless of existing microservice count. Conclusions: Developers must be cautious about the potential technical debt they might introduce, irrespective of the development activity conducted or the number of microservices involved. Maintaining steady technical debt during prolonged periods of time is possible, but growth, particularly during innovative phases, may be unavoidable. While monitoring technical debt is the key to start managing it, technical debt code analysis tools must be used wisely, as their output always necessitates also a qualitative system understanding to gain the complete picture.
引用
收藏
页码:217 / 236
页数:20
相关论文
共 50 条
[41]   Technical Debt Measurement during Software Development using Sonarqube: Literature Review and a Case Study [J].
Murillo, Maria Isabel ;
Jenkins, Marcelo .
V JORNADAS COSTARRICENSES DE INVESTIGACION EN COMPUTACION E INFORMATICA (JOCICI 2021), 2021,
[42]   Technical Debt Management in Agile Context: A new framework and case study in a large financial institution [J].
Archela, Gisela M. Q. M. ;
de Melo, Ana C. V. ;
Gava, Vagner Luiz .
39TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, SAC 2024, 2024, :826-833
[43]   An Empirical Study on Self-Fixed Technical Debt [J].
Tan, Jie ;
Feitosa, Daniel ;
Avgeriou, Paris .
2020 IEEE/ACM INTERNATIONAL CONFERENCE ON TECHNICAL DEBT, TECHDEBT, 2020, :11-20
[44]   Refactorings and Technical Debt in Docker Projects: An Empirical Study [J].
Ksontini, Emna ;
Kessentini, Marouane ;
Ferreira, Thiago do N. ;
Hassan, Foyzul .
2021 36TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING ASE 2021, 2021, :781-791
[45]   Exploring Technical Debt Tools: A Systematic Mapping Study [J].
Saraiva da Silva, Jose Diego ;
Neto, Jose Gameleira ;
Kulesza, Uira ;
Freitas, Guilherme ;
Reboucas, Rodrigo ;
Coelho, Roberta .
ENTERPRISE INFORMATION SYSTEMS, ICEIS 2021, 2022, 455 :280-303
[46]   Identification and management of technical debt: A systematic mapping study [J].
Alves, Nicolli S. R. ;
Mendes, Thiago S. ;
de Mendonca, Manoel G. ;
Spinola, Rodrigo O. ;
Shull, Forrest ;
Seaman, Carolyn .
INFORMATION AND SOFTWARE TECHNOLOGY, 2016, 70 :100-121
[47]   A systematic mapping study on technical debt and its management [J].
Li, Zengyang ;
Avgeriou, Paris ;
Liang, Peng .
JOURNAL OF SYSTEMS AND SOFTWARE, 2015, 101 :193-220
[48]   Deliberative Technical Debt Management: An Action Research Study [J].
Borup, Nichlas Bodker ;
Christiansen, Ann Louise Jul ;
Tovgaard, Sabine Hordum ;
Persson, John Stouby .
SOFTWARE BUSINESS (ICSOB 2021), 2021, 434 :50-65
[49]   Technical Debt tracking: Current state of practice A survey and multiple case study in 15 large organizations [J].
Martini, Antonio ;
Besker, Terese ;
Bosch, Jan .
SCIENCE OF COMPUTER PROGRAMMING, 2018, 163 :42-61
[50]   A Method to Optimize Technical Debt Management in Timed-boxed Processes [J].
Lavazza, Luigi ;
Morasca, Sandro ;
Tosi, Davide .
THIRTEENTH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING ADVANCES (ICSEA 2018), 2018, :45-51