Nuno António Lira Fernandes Faria Santos finaliza o seu Doutoramento
Tema da tese: An Agile Process for Modeling Logical Architectures: Demonstration Cases from Large-scale Software Project
Autor: Nuno António Lira Fernandes Faria Santos
Programa Doutoral: Programa Doutoral em Tecnologias e Sistemas de Informação
Orientador: Ricardo J. Machado; Nuno A. Ferreira
Abstract: Developing software solutions is about providing responses to a set of business needs in form of a working software. These business needs are the starting point for the development process, which states the required business support that the software will provide, in form of functional and non-functional requirements. Then, every implementation decision aims satisfying those requirements. Of course, over time, the requirements change. In that sense, agile software development (ASD) approaches bring a set of practices towards embracing those changes as soon as possible. As the complexity of software increases, namely in terms of the quantity of the defined features, these approaches face some challenges, typically related in properly defining how different teams have to work together in order to deliver a unified solution. In complex solutions, the traceability between business (or stakeholder) and software (components) perspectives may not be properly assured. Using a logical architecture provides a view that organizes software components in order to meet functional requirements. In a large-scale agile (LSA) setting, the logical architecture provides a view in how different teams’ outputs fit together. Thus, this thesis presents a process for modeling logical architectures adequate for ASD settings (a.k.a., “Agile Modeling” – AM) with requirements elicitation and modeling techniques and, additionally, uses an architectural design method called “Four Step Rule Set” (4SRS) in order to trace the requirements models to the architectural components. An AM process should support evolutionary design, preventing the so-called “Big Design Up Front” (BDUF) with eventual efforts that are afterwards disregarded in “You Aren’t Going to Need It” (YAGNI) elements. The proposed process is called “Agile Modeling Process for Logical Architectures” (AMPLA). This research work aimed defining how AMPLA covers the model evolution and abstraction level from business to service‑oriented logical architectures in LSA settings. Additionally, adopting an architectural style called “microservices”, eases the agility in developing (and deploying) the solutions, where its design principles promote continuous integration/delivery (CI/CD) and DevOps. Thus, AMPLA includes architecture modeling as well as maintenance and evolution during ASD iterations.
Keywords: agile software development, agile modeling, large-scale agile, logical architectures, microservices architecture