Thursday, December 28, 2006

SOA and Governance -

I've been working on the definition and implementation of a SOA governance as of late - and when you get right down to it, there isn't much new under the sun. That shouldn't be surprising, given that service oriented architecture is applying the concepts of commerce to technology. Here's my current thoughts (:

SOA Governance:
  • Define and execute the organizational policy and processes required to achieve business success of an SOA within SOA and IT processes.
  • Establish chains of responsibility, measurement, policy, standards and control mechanisms to exercise decision rights as part of the service life-cycle.

How does that become useful to a project manager that wants to know what to do - and how to create a consistent approach? Well, much of the work has already been done because SOA Governance concepts derive directly from traditional IT/Corporate governance processes and map into the SOA-RM. Now, the application of these processes may have a bit different flavor that traditional IT systems - because system boundaries are much more fluid and the emphasis is on dynamic interaction - rather than rigid definitions. So here's a working draft of the questions that a SOA governance process will address for a project manager.

Dynamics of Services –
Visibility:
  • How will others know that a service is offered?
  • What services are offered by others?
  • Who is authorized to offer services?

Interacting with Services:
  • What is the supported 'lifecycle' for services?
  • What metrics will be collected on the –ilities of a service?
  • Where will they be made accessible?
  • What levels of quality are required?
  • What are the requirements imposed on a service consumer?

Real World Effect: [I’m still working on this one]

About Services –
Service Description:
  • What elements must be contained in a service description?
  • What elements are change-controlled?
  • What is the process for CM?
  • What events require a new version of a service description be published?
  • What is the sustainment of older versions?

Policy:
  • At what stage of development is an SLA authored?
  • Where is it stored?
  • How will performance against the SLA be measured?
  • Who is responsible for measuring the quality of service?

Execution Context:
  • What are the key drivers for the initiative (e.g. reuse as much infrastructure as possible a la REST or build a WS-* infrastructure)?


*You'll notice that there are two distinct types of viewpoints embedded within this questions: CIO and Project Manager. The responsibilities and activities will vary significantly between these two viewpoints. However, they coalesce around several basic questions that must be addressed in any transition to a service-oriented environment.