Reconstructing the Architecture Model for a Sustainable Software System (SATURN 2008)
April 2008 • Presentation
Presentation for the 2008 SATURN workshop held in Pittsburgh
Software Engineering Institute
This presentation was created for a conference series or symposium and does not necessarily reflect the positions and views of the Software Engineering Institute.
Sustainable software architecture, which has evolved over more than 10 years and is to live and change for at least another decade, is very difficult to capture in an architecture model. The architecture is often a mixture of old and new tactics, and the system use cases which were once valid no longer capture the essence of all of the system's functionality and business goals. The case study of the reconstruction of an architectural model for a sustainable architecture to be presented dealt with a sustainable software architecture which had grown out of control. The original architects had left the development organization, and the new architects did not have full control of all parts of the sustainable architecture. In an attempt to gain back the control of the architecture, the goal of the development organization's architecture team was to document the architecture according to a model so that the architecture could be communicated among its stakeholders. The team started from the SEI books Documenting Software Architecture: Views and Beyond and Software Architecture in Practice. The team vision was to capture all domain-specific issues as trends and experiences, quality-attribute-specific issues, and business goal issues, which influence the architecture at the enterprise, system, and software levels in one model. The effects of changing business goals and software quality attributes on system architecture and software design should be made visible in the model. By making the relationships visible, the architects would be able to see what effect a changing business goal could have on the architecture or even predict how a shift in technology would affect the system and software architecture. The model would then serve as a decision guiding tool and be used in an active fashion instead of merely being a blueprint of the software architecture construction of today. The vision of documenting the different architecture levels in one model was more complex to realize than expected. What the case study ended up in was a conflict between the common approach of dividing the architecture into different views and the need of sustainable systems to accommodate changes in business goals, technology environment, and enterprise constructions affecting the architecture in one adaptive architecture model. This presentation aims at opening up the discussion on how to document continuously changing architecture at the enterprise, system, and software levels in one and the same model.