Building and evaluating a theory of architectural technical debt in software-intensive systems

被引:20
|
作者
Verdecchia, Roberto [1 ]
Kruchten, Philippe [2 ]
Lago, Patricia [1 ,3 ]
Malavolta, Ivano [1 ]
机构
[1] Vrije Univ Amsterdam, Amsterdam, Netherlands
[2] Univ British Columbia, Vancouver, BC, Canada
[3] Chalmers Univ Technol, Gothenburg, Sweden
关键词
Software engineering; Software architecture; Technical debt; Software evolution; Grounded theory; Focus group;
D O I
10.1016/j.jss.2021.110925
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Architectural technical debt in software-intensive systems is a metaphor used to describe the "big'' design decisions (e.g., choices regarding structure, frameworks, technologies, languages, etc.) that, while being suitable or even optimal when made, significantly hinder progress in the future. While other types of debt, such as code-level technical debt, can be readily detected by static analyzers, and often be refactored with minimal or only incremental efforts, architectural debt is hard to be identified, of wide-ranging remediation cost, daunting, and often avoided. In this study, we aim at developing a better understanding of how software development organizations conceptualize architectural debt, and how they deal with it. In order to do so, in this investigation we apply a mixed empirical method, constituted by a grounded theory study followed by focus groups. With the grounded theory method we construct a theory on architectural technical debt by eliciting qualitative data from software architects and senior technical staff from a wide range of heterogeneous software development organizations. We applied the focus group method to evaluate the emerging theory and refine it according to the new data collected. The result of the study, i.e., a theory emerging from the gathered data, constitutes an encompassing conceptual model of architectural technical debt, identifying and relating concepts such as its symptoms, causes, consequences, management strategies, and communication problems. From the conducted focus groups, we assessed that the theory adheres to the four evaluation criteria of classic grounded theory, i.e., the theory fits its underlying data, is able to work, has relevance, and is modifiable as new data appears. By grounding the findings in empirical evidence, the theory provides researchers and practitioners with novel knowledge on the crucial factors of architectural technical debt experienced in industrial contexts. (C) 2021 The Author(s). Published by Elsevier Inc.
引用
收藏
页数:23
相关论文
共 50 条
  • [31] A systems-theoretic approach to safety in software-intensive systems
    Leveson, NG
    [J]. IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, 2004, 1 (01) : 66 - 86
  • [32] Special Track on Software-intensive Systems-of-Systems (SiSoS)
    [J]. 1763, Association for Computing Machinery (Part F128005):
  • [33] Reliability-related requirements in software-intensive systems
    Hecht, Myron
    Owens, Karen
    Tagami, Joanne
    [J]. ANNUAL RELIABILITY AND MAINTAINABILITY SYMPOSIUM, 2007 PROCEEDINGS, 2006, : 155 - +
  • [34] Towards Systematic Live Experimentation in Software-Intensive Systems of Systems
    Gerostathopoulos, Ilias
    Bures, Tomas
    Schmid, Sanny
    Horky, Vojtech
    Prehofer, Christian
    Tuma, Petr
    [J]. SOFTWARE-INTENSIVE SYSTEMS-OF-SYSTEMS SYMPOSIUM (SISOS@ECSA), 2016,
  • [35] Bridging Missions and Architecture in Software-intensive Systems-of-Systems
    Silva, Eduardo
    Cavalcante, Everton
    Batista, Thais
    Oquendo, Flavio
    [J]. 2016 21ST INTERNATIONAL CONFERENCE ON ENGINEERING OF COMPLEX COMPUTER SYSTEMS (ICECCS 2016), 2016, : 201 - 206
  • [36] Programmable Managing of Workflows in Development of Software-Intensive Systems
    Sosnin, P.
    Lapshov, Y.
    Svyatov, K.
    [J]. MODERN ADVANCES IN APPLIED INTELLIGENCE, IEA/AIE 2014, PT I, 2014, 8481 : 138 - 147
  • [37] Substantially Evolutionary Theorizing in Designing Software-Intensive Systems
    Sosnin, Petr
    [J]. INFORMATION, 2018, 9 (04)
  • [38] A Security Metrics Taxonomization Model for Software-Intensive Systems
    Savola, Reijo M.
    [J]. JOURNAL OF INFORMATION PROCESSING SYSTEMS, 2009, 5 (04): : 197 - 206
  • [39] A HOLISTIC VIEW AT DEPENDABLE EMBEDDED SOFTWARE-INTENSIVE SYSTEMS
    Schoitsch, Erwin
    [J]. IDIMT-2008: MANAGING THE UNMANAGEABLE, 2008, 25 : 321 - 344
  • [40] THE ROLE OF MODELS IN MANAGING THE UNCERTAINTY OF SOFTWARE-INTENSIVE SYSTEMS
    LITTLEWOOD, B
    NEIL, M
    OSTROLENK, G
    [J]. RELIABILITY ENGINEERING & SYSTEM SAFETY, 1995, 50 (01) : 87 - 95