Architecture consistency: State of the practice, challenges and requirements

Nour Ali, Sean Baker, Ross O’Crowley, Sebastian Herold, Jim Buckley

Research output: Contribution to journalArticlepeer-review

Abstract

Architecture Consistency (AC) aims to align implemented systems with their intended architectures. Several AC approaches and tools have been proposed and empirically evaluated, suggesting favourable results. In this paper, we empirically examine the state of practice with respect to Architecture Consistency, through interviews with nineteen experienced software engineers. Our goal is to identify 1) any practises that the companies these architects work for, currently undertake to achieve AC; 2) any barriers to undertaking explicit AC approaches in these companies; 3) software development situations where practitioners perceive AC approaches would be useful, and 4) AC tool needs, as perceived by practitioners. We also assess current commercial AC tool offerings in terms of these perceived needs. The study reveals that many practitioners apply informal AC approaches as there are barriers for adopting more formal and explicit approaches. These barriers are: 1) Difficulty in quantifying architectural inconsistency effects, and thus justifying the allocation of resources to fix them to senior management, 2) The near invisibility of architectural inconsistency to customers, 3) Practitioners’ reluctance towards fixing architectural inconsistencies, and 4) Practitioners perception that huge effort is required to map the system to the architecture when using more formal AC approaches and tools. Practitioners still believe that AC would be useful in supporting several of the software development activities such as auditing, evolution and ensuring quality attributes. After reviewing several commercial tools, we posit that AC tool vendors need to work on their ability to support analysis of systems made up of different technologies, that AC tools need to enhance their capabilities with respect to artefacts such as services and meta-data, and to focus more on non-maintainability architectural concerns.

Original languageEnglish
Pages (from-to)224-258
Number of pages35
JournalEmpirical Software Engineering
Volume23
Issue number1
DOIs
Publication statusPublished - 1 Feb 2018

Keywords

  • Architectural drift
  • Architecture conformance and erosion
  • Architecture recovery
  • Consistency
  • Empirical study
  • Software architecture

Fingerprint

Dive into the research topics of 'Architecture consistency: State of the practice, challenges and requirements'. Together they form a unique fingerprint.

Cite this