headingimage

About Lero Research

Lero is the Irish software research centre.It brings together leading software research teams from Universities and Institutes of Technology in a coordinated centre of research excellence with a strong industry focus. Lero has raised the level and profile of Irish software research with such effect that it is now one of the best known and highly regarded software-related research centres in the world.  The centre has the proven capacity to attract and retain global research leaders and to make a substantial contribution both to software-related research and to the Irish economy. The Lero Centre is supported by a Research Centre grant from SFI, by other state grants, by industry contributions and by external funding (particularly the EU’s research programmes). Lero interfaces with a wide range of industry, state agencies, educational bodies and international collaborators to deliver on its twin goals of research excellence and social and economic relevance.

Assessing architectural drift in commercial software development: a case study

Abstract

Objectives: Software architecture is perceived as one of the most important artefacts created during a system’s design. However, implementations often diverge from their intended architectures: a phenomenon called architectural drift. The objective of this research is to assess the occurrence of architectural drift in the context of de novosoftware development, to characterize it, and to evaluate whether its detection leads to inconsistency removal. Method: Anin vivo, longitudinal case study was performed during the development of a commercial software system, where an approach based on Reflexion Modelling was employed to detect architectural drift. Observation and think-aloud data, captured during the system’s development, were assessed for the presence and types of architectural drift. When divergences were identified, the data were further analysed to see if identification led to the removal of these divergences. Results: The analysed system diverged from the intended architecture, during the initial implementation of the system. Surprisingly however, this work showed that Reflexion Modelling served to conceal some of the inconsistencies, a finding that directly contradicts the high regard that this technique enjoys as an architectural evaluation tool. Finally, the analysis illustrated that detection of inconsistencies was insufficient to prompt their removal, in the small, informal team context studied. Conclusions: Although the utility of the approach for detecting inconsistencies was demonstrated in most cases, it also served to hide several inconsistencies and did not act as a trigger for their removal. Hence additional efforts must be taken to lessen architectural drift and several improvements in this regard are suggested.