Identifying architectural technical debt, principal, and interest in microservices: A multiple-case study

被引:17
作者
de Toledo, Saulo S. [1 ]
Martini, Antonio [1 ]
Sjoberg, Dag I. K. [1 ]
机构
[1] Univ Oslo, Oslo, Norway
关键词
Cost of software; Cross-company study; Software quality; Software maintainability; Qualitative analysis; EROSION;
D O I
10.1016/j.jss.2021.110968
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Background: Using a microservices architecture is a popular strategy for software organizations to deliver value to their customers fast and continuously. However, scientific knowledge on how to manage architectural debt in microservices is scarce. Objectives: In the context of microservices applications, this paper aims to identify architectural technical debts (ATDs), their costs, and their most common solutions. Method: We conducted an exploratory multiple case study by conducting 25 interviews with practitioners working with microservices in seven large companies. Results: We found 16 ATD issues, their negative impact (interest), and common solutions to repay each debt together with the related costs (principal). Two examples of critical ATD issues found were the use of shared databases that, if not properly planned, leads to potential breaks on services every time the database schema changes and bad API designs, which leads to coupling among teams. We identified ATDs occurring in different domains and stages of development and created a map of the relationships among those debts. Conclusion: The findings may guide organizations in developing microservices systems that better manage and avoid architectural debts. (C) 2021 The Authors. Published by Elsevier Inc. This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/4.0/).
引用
收藏
页数:21
相关论文
共 48 条
[1]  
[Anonymous], 2012, ENTERPRISE INTEGRATI
[2]  
[Anonymous], 2012, CASE STUDY RES SOFTW, DOI DOI 10.1002/9781118181034
[3]  
Avgeriou P., 2016, DAGSTUHL SEMINAR 161, V6
[4]   Embracing Technical Debt, from a Startup Company Perspective [J].
Besker, Terese ;
Martinia, Antonio ;
Lokuge, Rumesh Edirisooriya ;
Blincoe, Kelly ;
Bosch, Jan .
PROCEEDINGS 2018 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2018, :415-425
[5]   Managing architectural technical debt: A unified model and systematic literature review [J].
Besker, Terese ;
Martini, Antonio ;
Bosch, Jan .
JOURNAL OF SYSTEMS AND SOFTWARE, 2018, 135 :1-16
[6]   The Pricey Bill of Technical Debt - When and by whom will it be paid? [J].
Besker, Terese ;
Martini, Antonio ;
Bosch, Jan .
2017 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2017, :13-23
[7]   Assuring the Evolvability of Microservices: Insights into Industry Practices and Challenges [J].
Bogner, Justus ;
Fritzsch, Jonas ;
Wagner, Stefan ;
Zimmermann, Alfred .
2019 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2019), 2019, :546-556
[8]   Towards a Collaborative Repository for the Documentation of Service-Based Antipatterns and Bad Smells [J].
Bogner, Justus ;
Boceck, Tobias ;
Popp, Matthias ;
Tschechlov, Dennis ;
Wagner, Stefan ;
Zimmermann, Alfred .
2019 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE COMPANION (ICSA-C 2019), 2019, :95-101
[9]   Controlling software architecture erosion: A survey [J].
de Silva, Lakshitha ;
Balasubramaniam, Dharini .
JOURNAL OF SYSTEMS AND SOFTWARE, 2012, 85 (01) :132-151
[10]   Architectural Technical Debt in Microservices A case study in a large company [J].
de Toledo, Saulo S. ;
Martini, Antonio ;
Przybyszewska, Agata ;
Sjoberg, Dag I. K. .
2019 IEEE/ACM INTERNATIONAL CONFERENCE ON TECHNICAL DEBT (TECHDEBT 2019), 2019, :78-87