TY - JOUR
T1 - Architectural design decisions that incur technical debt — An industrial case study
AU - Soliman, Mohamed
AU - Avgeriou, Paris
AU - Li, Yikun
N1 - Funding Information:
We would like to thank ITEA3, The Netherlands and RV, The Netherlands for their support under grant agreement No. 17038 VISDOM ( https://visdom-project.github.io/website ). Moreover, we would like to thank the practitioners who volunteered to participate in our study.
Publisher Copyright:
© 2021 The Authors
PY - 2021/11
Y1 - 2021/11
N2 - Context: During software development, some architectural design decisions incur technical debt, either deliberately or inadvertently. These have serious impact on the quality of a software system, and can cost significant time and effort to be changed. While current research efforts have explored general concepts of architectural design decisions and technical debt separately, debt-incurring architectural design decisions have not been specifically explored in practice. Objective: In this case study, we explore debt-incurring architectural design decisions (DADDs) in practice. Specifically, we explore the main types of DADDs, why and how they are incurred in a software system, and how practitioners deal with these types of design decisions. Method: We performed interviews and a focus group with practitioners working in embedded and enterprise software companies, discussing their concrete experience with such architectural design decisions. Results: We provide the following contributions: 1) A categorization for the types of DADDs, which extend a current ontology on architectural design decisions. 2) A process on how deliberate DADDs are made in practice. 3) A conceptual model which shows the relationships between the causes and triggers of inadvertent DADDs. 4) The main factors that influence the way of dealing with DADDs. Conclusion: The results can support the development of new approaches and tools for Architecture Technical Debt management from the perspective of Design Decisions. Moreover, they support future research to capture architecture knowledge related to DADDs.
AB - Context: During software development, some architectural design decisions incur technical debt, either deliberately or inadvertently. These have serious impact on the quality of a software system, and can cost significant time and effort to be changed. While current research efforts have explored general concepts of architectural design decisions and technical debt separately, debt-incurring architectural design decisions have not been specifically explored in practice. Objective: In this case study, we explore debt-incurring architectural design decisions (DADDs) in practice. Specifically, we explore the main types of DADDs, why and how they are incurred in a software system, and how practitioners deal with these types of design decisions. Method: We performed interviews and a focus group with practitioners working in embedded and enterprise software companies, discussing their concrete experience with such architectural design decisions. Results: We provide the following contributions: 1) A categorization for the types of DADDs, which extend a current ontology on architectural design decisions. 2) A process on how deliberate DADDs are made in practice. 3) A conceptual model which shows the relationships between the causes and triggers of inadvertent DADDs. 4) The main factors that influence the way of dealing with DADDs. Conclusion: The results can support the development of new approaches and tools for Architecture Technical Debt management from the perspective of Design Decisions. Moreover, they support future research to capture architecture knowledge related to DADDs.
KW - Architectural design decisions
KW - Architectural knowledge
KW - Architectural technical debt
KW - Technical debt
UR - http://www.scopus.com/inward/record.url?scp=85109165765&partnerID=8YFLogxK
U2 - 10.1016/j.infsof.2021.106669
DO - 10.1016/j.infsof.2021.106669
M3 - Article
AN - SCOPUS:85109165765
SN - 0950-5849
VL - 139
JO - Information and Software Technology
JF - Information and Software Technology
M1 - 106669
ER -