Architecture consistency: State of the practice, challenges and requirements

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

DOI: 10.1007/s10664-017-9515-3

Cite this article as:
Ali, N., Baker, S., O’Crowley, R. et al. Empir Software Eng (2017). doi:10.1007/s10664-017-9515-3
  • 22 Downloads

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.

Keywords

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

Copyright information

© Springer Science+Business Media New York 2017

Authors and Affiliations

  1. 1.Brunel UniversityUxbridge, LondonUK
  2. 2.LeroUniversity of LimerickLimerickIreland
  3. 3.Red Orkid LimitedDublinIreland
  4. 4.Karlstad UniversityKarlstadSweden

Personalised recommendations