InfoQ

News

SOA Governance: Balancing Process and Agility

Posted by Jean-Jacques Dubray on Sep 30, 2008 01:00 AM

Community
SOA
Topics
Governance
Tags
CEP

Information systems are complex and keeping them aligned with business needs and objectives has proven to be very challenging having, to deal with issues such as retention, compliance, availability, real-time visibility, complex event processing... in a constantly evolving business and technical environment.

SOA has been touted as a possible solution to these stumbling blocks that often prevent IT to deliver the value that the business requires. However, not all approaches to build a Service Oriented Architecture will give the same results. In his latest article on CIO magazine, Mike Kavis notes:

Implementing SOA without a solid governance model is the equivalent to having an airport without a control tower.

He suggests that when it comes to governance, we need to find the right balance between process and agility:

I have seen many companies fall into two different traps when attempting to implement SOA governance. The first trap is not having a robust enough governance model. The second trap is having so much process that it takes forever to get things done.

He argues that

  • Not enough process creates chaos
  • Too much process stifles innovation and deters agility
  • Evolve governance over time

For instance, without an effective governance model:

SOA ...can [mean]... down systems, high development costs, unmanageable production environments and unhappy customers.

And:

To get the reuse, flexibility, agility, and ease of integration that SOA promises, design time governance must ensure that services are built in a consistent manner that provides business value, meets certain performance and security requirements, is platform neutral, and does not break anything that already is deployed.

He also suggests that Runtime Governance:

is crucial [as a] single business service may be made up of a number of components ... When that service fails, you better have the proper processes and tools in place to quickly identify the issues and to recover before your customers notice first.
So how can we be agile and enforce SOA governance at the same time?

Mike gives us some practical steps to achieve this result:

  • One way is to shift from text heavy documentation to visual documentation.
  • SOA governance should not be created by project managers; it is the architects that need to define it.
  • like SOA, SOA governance is a journey that never ends. Start small and implement only the steps that are necessary at that time.

and things to avoid too...

I have seen where some companies have spent over a year putting all of the proper governance processes in place. That is one year with zero value added to the business. My recommendation is to include SOA governance as a critical piece of your SOA roadmap.

Governance is arguably one of the most delicate and crucial factor when building an SOA especially when you also factor in political or funding in addition to process and agility considerations. How did you go about building your SOA Governance organization and processes? Do you feel you have been successful? Why? How?

  • This article is part of a featured topic series on Governance
RE: SOA Governance: Balancing Process and Agility by Robert Morschel Posted Sep 30, 2008 7:58 AM
  1. Back to top

    RE: SOA Governance: Balancing Process and Agility

    Sep 30, 2008 7:58 AM by Robert Morschel

    It helps if the organisation is doing Enterprise Architecture already, i.e. where governance is part of the organisational fabric already. Governance in general will be not be popular with the developmence communities and business, and so must be balanced with incentive schemes, i.e. stick and carrot approach. Robert soaprobe.blogspot.com

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.