Maarten Veger, woensdag 27 mei 2009
A Service-Oriented Architecture (SOA) is an architectural style that supports loosely coupled services to enable business flexibility in an interoperable, technology-agnostic manner. SOA adoption can be a solution to integrate the heterogeneous applications in an organization. In a SOA, existing applications are decomposed into application services, and business processes are decomposed into business services. Application services can be reused throughout the organization because their service descriptions are published in a service registry, and they can interact using standards for the exchange of messages. Application services are loosely coupled, and can therefore be orchestrated to automate business processes. By using standards for message exchange, service description and service discovery, functionality residing in different business functions can be composed to automate business processes that span different business functions.
Adopting an enterprise-wide SOA involves the translation of the SOA principles into concrete architectures and implementations, which fit in with the existing applications. This translation requires that choices are made about which standards, technology and software to use to implement SOA. However, SOA adoption is not only a technical implementation. It requires that the importance of organizational aspects is acknowledged and managed by the stakeholders that are involved in the SOA adoption program. Experience in SOA adoption shows that it is a complex process, and that the stakeholders involved tend to oversimplify the expected effort that is required to adopt an enterprise-wide SOA. As a consequence, organizations are dissatisfied with their SOA adoption and some organizations even cancel their SOA initiative. Organizations should gradually adopt an enterprise-wide SOA to minimize the risk of failure and to gain management commitment.
Stage maturity models can support the SOA adoption process, by functioning as a roadmap for organizations. Stage maturity models break down the adoption processes in steps, and consider different perspectives to measure the progress of adoption. Some stage maturity models exist for enterprise-wide SOA adoption, but these models are not independent of technology, they lack attention for management involvement and organizational issues, and they lack an assessment tool from which organizations can derive an improvement plan.
We propose a Stage Maturity Model for the adoption of an enterprise-wide SOA (SMM-SOA). Our model is based on a review of literature, and validation with experts that are active in the field of IT architecture. The stage maturity model consists of six stages and six maturity aspects. The stages reflect the cumulative adoption within the organization in an s-curve, as observed earlier in research about IT adoption. The six stages are named siloed, experimental, applied, integrated, institutionalized and networked. The six maturity aspects can be divided in respectively three organizational aspects and three technical aspects: strategy & governance, organizational change, business architecture, information model, application architecture, and operational infrastructure.
Based on the six stages and six maturity aspects, a questionnaire was developed to assess the maturity of three organizations in a multiple-case study. Two approaches could be observed from the case studies: decomposing either the business architecture into business services, or the application architecture into application services and orchestrating business processes based on these application services. These approaches can be related to the business or IT strategy respectively.