Skip to search boxSkip to navigationSkip to main content

Assessing Architectural Drift in Commercial Software Development: A Case Study

  • Jacek Rosik
    ,
  • Andrew Le Gear
    ,
  • Jim Buckley
    ,
  • Muhammad Ali Babar
    ,
  • Dave Connolly
  • University of Limerick
    ,
  • Nomura Plc.
    ,
  • IBM Dublin Software Lab
Research Output:
Journal Article or Conference Article in Journal
Journal article
Peer-review

Open access

Publication Information

Output type

Research Output:
Journal Article or Conference Article in Journal
Journal article
Peer-review

Original language

English

Journal (Volume, Issue Number)

Software: Practice & Experience

Publication milestones

  • Published - 2010

Publication status

Published - 2010

ISSN

0038-0644

Publication IDs

  • Scopus: 78650779783

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 novo software development, to characterize it, and to evaluate whether its detection leads to inconsistency removal. Method: An in 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.

Publication metrics

PlumX, opens in new tab

Captures
41
Citations
40