Using Architecturally Significant Requirements for Guiding System Evolution

Ipek Ozkaya, Andres Diaz-Pace, Arie Gurfinkel, Sagar Chaki, Proceedings of 14th European Conference on Software Maintenance and Reengineering (CSMR), page 129-138, March 15-18, 2010.

Abstract: Rapidly changing technology is one of the key triggers of system evolution. Some examples are: physically relocating a data center; replacement of infrastructure such as migrating from an in-house broker to CORBA; moving to a new architectural approach such as migrating from clientserver to a service-oriented architecture paradigm. At a high level, the goals of such an evolution are easy to describe. While the end goals of the evolution are typically captured and known, the key architecturally significant requirements that guide the actual evolution tasks are often unexplored. At best, they are tucked under maintainability and/or modifiability concerns. In this paper, we argue that eliciting and using architecturally significant requirements of an evolution has a potential to significantly improve the quality of the evolution effort. We focus on elicitation and representation techniques of architecturally significant evolution requirements, and demonstrate their use in analysis for evolution.