Software Architecture Erosion: Impacts, Causes, and Management

, and . International Journal of Computer Science and Security (IJCSS), 14 (2): 82-93 (June 2020)


As extensive new software projects are becoming more costly with increased development complexity and risks, the use of existing, already developed software projects are now spanning multiple years or decades. Software maintenance durations are increasing along with periodic periods of intense software upgrades due to these lengthy extensions of the life of the software. While the software architecture is set during the project's initial design phase, over the life of the project, architecture erosion can take place due to intentional and unintentional changes, resulting in deviations from the intended architecture. These deviations can manifest themselves in a wide variety of performance, maintenance, and software quality problems ranging from minor annoyances to product failure or unmaintainable software. This paper explores the causes and impacts of software erosion, and recovery approaches to addressing software erosion, laying the framework for future work towards the definition of an Architectural Maturity Model Integration process to assess the architectural maturity of an organization.

Links and resources