Avoiding architectural erosion helps extend the lifetime of an evolving software system Erosion can be reduced by ensuring that (i) developers share a good understanding of a system?s architecture; (ii) alignment is preserved between the architectural description and its implementation at all stages of system construction and maintenance; and (iii) architectural changes are treated with the same care and attention as the production of the initial design. Through the metaphor of ?agile development? this paper presents a lightweight approach to the control of architectural erosion. In particular, it covers the representation of an architectural description and the management of alignment between description and implementation during system evolution. A prototype support tool, ArchAngel, is introduced. This maintains an architectural design description, identifies when changes occur with respect to that description, and reports these changes for evaluation.
Citation:
Ciaran O?Reilly, Philip Morrow, David Bustard, "Lightweight Prevention of Architectural Erosion," iwpse, pp.59, Sixth International Workshop on Principles of Software Evolution (IWPSE'03), 2003