What rationales drive architectural decisions? An empirical inquiry

Klara Borowa,Rafał Lewanczyk,Klaudia Stpiczyńska,Patryk Stradomski,Andrzej Zalewski
2023-09-25
Abstract:Architectural decision-making is a crucial concern for researchers and practitioners alike. There is a rationale behind every architectural decision that motivates an architect to choose one architectural solution out of a set of options. This study aims to identify which categories of rationale most frequently impact architectural decisions and investigates why these are important to practitioners. Our research comprises two steps of empirical inquiry: a questionnaire (63 participants) and 13 interviews. As a result, we obtained a set of rationales that motivated architects' decisions in practice. Out of them, we extracted a list of software quality attributes that practitioners were the most concerned about. We found that, overall, architects prefer to choose solutions which are familiar to them or that guarantee fast software implementation. Mid-career architects (5 to 15 years of experience) are more open to new solutions than senior and junior practitioners. Additionally, we found that most practitioners are not concerned about the quality attributes of compatibility and portability due to modern software development practices, such as the prevalence of using specific standards and virtualisation/containerization.
Software Engineering
What problem does this paper attempt to address?
The paper attempts to address the issue of motivational factors behind software architecture decisions. Specifically, the study aims to identify which categories of motivations most frequently influence architectural decisions and investigate why these motivations are important to practitioners. Through a questionnaire survey (63 participants) and 13 interviews, the authors hope to understand the factors that architects with different levels of experience prioritize when making decisions and how these factors change over time. Additionally, the study pays special attention to software quality attributes (such as those in the ISO 25010 standard), as these attributes have been a long-term focus for researchers. The main research questions of the paper include: 1. Which motivations most frequently influence architectural decisions? 2. Which software quality attributes are usually prioritized in the architectural decision-making process? 3. Why do practitioners prioritize these motivations? Through this study, the authors hope to expand the understanding of the architectural decision-making process, providing researchers and practitioners with a basis for improving architectural decision-making methods, particularly based on current needs and practices.