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 条
[31]   Technical Debt in the Peer-Review Documentation of R Packages: a rOpenSci Case Study [J].
Codabux, Zadia ;
Vidoni, Melina ;
Fard, Fatemeh H. .
2021 IEEE/ACM 18TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2021), 2021, :195-206
[32]   Technical Debt Tools: A Systematic Mapping Study [J].
Saraiva, Diego ;
Neto, Jose Gameleira ;
Kulesza, Uira ;
Freitas, Guilherme ;
Reboucas, Rodrigo ;
Coelho, Roberta .
ICEIS: PROCEEDINGS OF THE 23RD INTERNATIONAL CONFERENCE ON ENTERPRISE INFORMATION SYSTEMS - VOL 2, 2021, :88-98
[33]   On technical debt in mathematical programming: An exploratory study [J].
Vidoni, Melina ;
Laura Cunico, Maria .
MATHEMATICAL PROGRAMMING COMPUTATION, 2022, 14 (04) :781-818
[34]   Exploring the Presence of Technical Debt in Industrial GUI-based Testware: A Case Study [J].
Alegroth, Emil ;
Steiner, Marcello ;
Martini, Antonio .
2016 IEEE NINTH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION WORKSHOPS (ICSTW), 2016, :257-262
[35]   On technical debt in mathematical programming: An exploratory study [J].
Melina Vidoni ;
Maria Laura Cunico .
Mathematical Programming Computation, 2022, 14 :781-818
[36]   Effects of Technical Debt Awareness: A Classroom Study [J].
Tonin, Graziela Simone ;
Goldman, Alfredo ;
Seaman, Carolyn ;
Pina, Diogo .
AGILE PROCESSES IN SOFTWARE ENGINEERING AND EXTREME PROGRAMMING (XP 2017): 18TH INTERNATIONAL CONFERENCE, XP 2017, 2017, 283 :84-100
[37]   A mixed-method empirical study of Function-as-a-Service software development in industrial practice [J].
Leitner, Philipp ;
Wittern, Erik ;
Spillner, Josef ;
Hummer, Waldemar .
JOURNAL OF SYSTEMS AND SOFTWARE, 2019, 149 :340-359
[38]   Microservices validation: Mjolnirr platform case study [J].
Savchenko, D. I. ;
Radchenko, G. I. ;
Taipale, O. .
2015 8TH INTERNATIONAL CONVENTION ON INFORMATION AND COMMUNICATION TECHNOLOGY, ELECTRONICS AND MICROELECTRONICS (MIPRO), 2015, :235-240
[39]   The Impact of Forced Working-From-Home on Code Technical Debt: An Industrial Case Study [J].
Zabardast, Ehsan ;
Gonzalez-Huerta, Javier ;
Palma, Francis .
2022 48TH EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS, SEAA, 2022, :298-305
[40]   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,