Please use this identifier to cite or link to this item: http://bura.brunel.ac.uk/handle/2438/14795
Title: Architecture consistency: State of the practice, challenges and requirements
Authors: Ali, N
Baker, S
O Crowley, R
Herold, S
Buckley, J
Keywords: Software architecture;consistency;architectural drift;empirical study;architecture recovery;architecture conformance and erosion
Issue Date: 15-May-2017
Publisher: Springer
Citation: Ali, N., Baker, S., O’Crowley, R., Herold, S. and Buckley, J. (2018) 'Architecture consistency: State of the practice, challenges and requirements', Empirical Software Engineering, 23, pp. 224–258. doi: 10.1007/s10664-017-9515-3.
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.
URI: https://bura.brunel.ac.uk/handle/2438/14795
DOI: https://doi.org/10.1007/s10664-017-9515-3
ISSN: 1382-3256
Appears in Collections:Dept of Computer Science Research Papers

Files in This Item:
File Description SizeFormat 
Fulltext.pdf939.33 kBAdobe PDFView/Open


This item is licensed under a Creative Commons License Creative Commons