Reusable architectural decision models for enterprise application development

  • Authors:
  • Olaf Zimmermann;Thomas Gschwind;Jochen Küster;Frank Leymann;Nelly Schuster

  • Affiliations:
  • IBM Research GmbH, Zurich Research Laboratory, Rüschlikon, Switzerland;IBM Research GmbH, Zurich Research Laboratory, Rüschlikon, Switzerland;IBM Research GmbH, Zurich Research Laboratory, Rüschlikon, Switzerland;Universität Stuttgart, Institute of Architecture of Application Systems, Stuttgart, Germany;IBM Research GmbH, Zurich Research Laboratory, Rüschlikon, Switzerland

  • Venue:
  • QoSA'07 Proceedings of the Quality of software architectures 3rd international conference on Software architectures, components, and applications
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

In enterprise application development and other software construction projects, a critical success factor is to make sound architectural decisions. Text templates and tool support for capturing architectural decisions exist, but have failed to reach broad adoption so far. One of the inhibitors we perceived on large-scale industry projects is that architectural decision capturing is regarded as a retrospective and therefore unwelcome documentation task which does not provide any benefit during the original design work. A major problem of such a retrospective approach is that the decision rationale is not available to decision makers when they identify, make, and enforce decisions. Often a large, possibly distributed, community of decision makers is involved in these three steps. In this paper, we propose a new conceptual framework for proactive decision identification, decision maker collaboration, and decision enforcement. Based on a meta model capturing reuse and collaboration aspects explicitly, our framework instantiates decision models from requirements models and reusable decision templates. These templates capture knowledge gained on other projects employing the same architectural style. As an exemplary application of these concepts to service-oriented architecture shows, reusable architectural decision models can speed up the decision identification and improve the quality of the decision making. Reusable architectural decision models can also simplify the exchange of architecture design rationale within and between project teams, and expose decision outcome as model transformation parameters in model-driven software development.