Improving the consistency and usefulness of architecture descriptions: Guidelines for architects
Paper i proceeding, 2019

The need to support software architecture evolution has been well recognized, even more since the rise of agile methods. However, assuring the conformance between architecture descriptions and the implementation remains challenging. Inconsistencies emanate among multiple architecture descriptions, and between architecture descriptions and code. As a consequence, architecture descriptions are not always trusted and used to the extent that their authors wish for. In this paper, we present two surveys with 93 and 72 participants to examine architectural inconsistencies, with a focus on how they evolve over time and can be mitigated using practical guidelines. We identified the importance of capturing emerging elements to keep the architecture description consistent with the implementation, and consider the current-state and future-state architecture separately. Consequences of inconsistencies typically arise at later stages, especially if an architecture description concerns multiple teams. Our guidelines suggest to limit the upfront architecture to stable decisions, while paying attention to concerns that matter across team borders. In the ideal case, companies should aim to integrate architects into the teams to capture emerging aspects with time.

Questionnaire

Architectural conformance

Survey

Empirical software engineering

Architectural inconsistencies

Boundary objects

Agile architecture

Författare

Rebekka Wohlrab

Systemite AB

Chalmers, Data- och informationsteknik, Software Engineering

Ulf Eliasson

Vinnter AB

Patrizio Pelliccione

Göteborgs universitet

Universita degli Studi dell'Aquila

Rogardt Heldal

Høgskulen på Vestlandet (HVL)

Chalmers, Data- och informationsteknik, CSE Verksamhetsstöd

Proceedings - 2019 IEEE International Conference on Software Architecture, ICSA 2019

151-160 8703919

2019 IEEE International Conference on Software Architecture, ICSA 2019
Hamburg, Germany,

Ämneskategorier

Arkitektur

Programvaruteknik

Inbäddad systemteknik

DOI

10.1109/ICSA.2019.00024

Mer information

Senast uppdaterat

2019-08-20