FAROL : a lightweight framework for decision-making in software architecture - SILVA, Fagner Fernandes Candido da (2023)
Software development is a multifaceted activity. This makes architectural decision making a challenging matter. In the early stages, professionals often navigate a complex maze of considerations, leaving them on the brink of making critical decisions. These decisions have a high potential to impact the life cycle of the system and may even make it unfeasible. Therefore, how to choose a candidate software architecture proposal without losing critical aspects, respecting the specificity and purpose of the software? A lightweight architectural decision framework (FAROL) is proposed in this work to fill this knowledge gap. The motivation and research problem highlight the complexity of this type of decision, the impact of the lack of structured processes and the need for decision logic. The research questions in this work address these questions and examine practitioners’ reasoning about decisions, influencing factors, documentation practices, and principles considered. The literature review analyzes software architecture concepts and their relationship with decision making. It differentiates architecture and design, explains styles, and patterns, and covers theories of dual cognition. Decision techniques and documentation methods, such as records of architectural decisions, are explored. Nine principles for decision reasoning are described. The methodology surveys Brazilian IT experts to gain insights into current decision practices. The questions address confidence in the process, documentation, challenges, principles, factors that influence decision making. Threats to validity are analyzed. Comparison with existing structures highlights the possibility of customization in the use of the framework. Case studies demonstrate the application of FAROL to select architectures. Limitations include the need for more empirical assessments across contexts and the reliance on practitioner experience. However, FAROL provides a comprehensive methodology to promote informed decisions and continuous improvement. Ultimately, FAROL aims to bring systematic rigor to the ambiguous process of architectural choice. It offers practical guidance anchored in multidisciplinary theories and adapted for real- world projects. By elucidating the complex decision landscape, FAROL allows teams to navigate architectural tradeoffs.