InfoQ

News

SOA Maturity Models

Posted by Stefan Tilkov on Feb 22, 2007 03:22 PM

Community
SOA
Topics
Methodologies
Tags
Maturity Models

Many large organizations consider adopting SOA, and many of them decide to actually do so. But once that decision is made, how do you proceed? A reasonable strategy is to assess your current status, decide on where you want to go, and build a road map from there. To do so, many are looking for help in the form of maturity models. A maturity model defines a number of levels an organization can be one with regards to … and here the debate starts.

An interesting discussion has recently taken place between Dave Linthicum and Todd Biske. In a blog entry, Linthicum described his maturity model, which contains the following “levels” (in brief):

  • Level 0 SOAs are SOAs that simply send SOAP messages from system to system.
  • Level 1 SOAs are SOAs that also leverage everything in Level 0 but add the notion of a messaging/queuing system.
  • Level 2 SOAs are SOAs that leverage everything in Level 1, and add the element of transformation and routing.
  • Level 3 SOAs are SOAs that leverage everything in Level 2, adding a common directory service.
  • Level 4 SOAs are SOAs that leverage everything in Level 3, adding the notion of brokering and managing true services.
  • Finally, Level 5 SOAs are SOAs that leverage everything in Level 4, adding the notion of orchestration.

Biske does not agree that this approach is the right one for assessing maturity:

The first difference between my efforts […] and Dave’s levels is that my view is targeted around SOA adoption. Dave’s model is a SOA Maturity Model, and there is a difference between that and a SOA Adoption Maturity Model. That being said, I think SOA adoption is the right area to be assessing maturity.

In a posting to the Yahoo! SOA discussion group, Dennis Djenfer provided a useful list of (more or less publicly available) maturity models:

As enterprise-scale SOA adoption is still not very frequent, it’s hard to assess the value of any particular model, since they’re neither proven in practice, nor (in general) derived from significant number of particularly successful SOA efforts.

What are you’re experiences using SOA maturity models? Did you use any of these, did you define your own or do you consider them a waste of time?

9 comments

Reply

If you use TIBCO you are automatically at Level 5 by Prashant Rane Posted Feb 23, 2007 2:08 PM
Re: If you use TIBCO you are automatically at Level 5 by Stefan Tilkov Posted Feb 23, 2007 4:14 PM
Non-technical aspects by John Harby Posted Feb 23, 2007 4:26 PM
Re: Non-technical aspects by Todd Biske Posted Mar 2, 2007 8:14 AM
Real case by Carlos Rodriguez Posted Feb 24, 2007 10:11 AM
Maturity Models concepts by Kunal Mittal Posted Feb 24, 2007 8:33 PM
Re: Maturity Models concepts by Stefan Tilkov Posted Feb 25, 2007 1:05 PM
Another one to add to the list by Todd Biske Posted Mar 2, 2007 8:16 AM
Capability based maturity model by jun yang Posted Aug 8, 2007 11:28 AM
  1. Back to top

    If you use TIBCO you are automatically at Level 5

    Feb 23, 2007 2:08 PM by Prashant Rane

    You can go from Level 1 to 5 or just use a product that let's you have all 5 levels to start with.

  2. But having a capability is different from actually using it ... just because a buy a middleware product doesn't mean I have transitioned all my applications to it.

  3. Back to top

    Non-technical aspects

    Feb 23, 2007 4:26 PM by John Harby

    It's cute but what about all of these non-technical SOA aspects we keep hearing of, governance, etc? Also, I would suspect most organizations will immediately get the functionality of Level 5 for some services then spend time maturing all of their enterprise applications into this architecture.

  4. Back to top

    Real case

    Feb 24, 2007 10:11 AM by Carlos Rodriguez

    Well, we first are in level 0, then we go to level 3 because we added UDDI to the architecture. Then, we go to level 4 and 5 because we use bpel and we manage our services with X applications. After that, we go to level 2 (because use transform with xslt for integracion with other systems.). We dont use queueing and dont use routing. Are we on level 5 or are not. I think that it is levels of Adoption or recommendations of adoption or ...

    But it is a good idea for thinking about Level of Madurity and recommendations of Adoptions.
    It could be firsts steps. (discutions is good practice to make good knowlegde)

  5. Back to top

    Maturity Models concepts

    Feb 24, 2007 8:33 PM by Kunal Mittal

    I don't believe Maturity models should be based on technologies. Let us not forget the CMM. It is about process. In SOA, I would apply the concept of a maturity model to process, architecture, governance and policies.

    BTW - the link to my maturity model listed above it incorrect. Please read my maturity model at
    www.kunalmittal.com/html/soamm.shtml

  6. Back to top

    Re: Maturity Models concepts

    Feb 25, 2007 1:05 PM by Stefan Tilkov

    Thanks Kunal, I've fixed the link.

  7. Back to top

    Re: Non-technical aspects

    Mar 2, 2007 8:14 AM by Todd Biske

    John, have a look at these entries on my blog that discuss my work. You'll find that technology is only one dimension of the maturity model (and even within that dimension, it's more focused on appropriate use, rather than what you have). Other dimensions include approach & governance, organization, operational management, architecture, and communications & training.

    www.biske.com/blog/?p=128
    www.biske.com/blog/?p=129

    -tb

  8. Back to top

    Another one to add to the list

    Mar 2, 2007 8:16 AM by Todd Biske

    I just came across this work from Microsoft on Enabling the Service-Oriented Enterprise. It has another maturity model to add to the discussion.

    msdn2.microsoft.com/en-us/library/bb245664.aspx

    -tb

  9. Back to top

    Capability based maturity model

    Aug 8, 2007 11:28 AM by jun yang

    I like the model from Microsoft better because it addresses the key challenges of adopting SOA in large enterprises -- capability. Just like any other popular technologies before SOA, once it becomes popular, everybody wants to jump to the bandwagan without even understanding what a service is and forgive my rudeness, most of them don't even have background on computer science.

Exclusive Content

Book Except and Interview : Aptana RadRails, An IDE for Rails Development

Aptana RadRails: An IDE for Rails Development by Javier Ramírez discusses the latest Aptana RadRails IDE, a development environment for creating Ruby on Rails applications.

Fast Bytecodes for Funny Languages

Cliff Click discusses how to optimize generated bytecode for running on the JVM. Click analyzes and reports on several JVM languages and shows several places where they could increase performance.

Scott Ambler On Agile’s Present and Future

Scott Ambler, Practice Lead for Agile Development at IBM, speaks on the current status of the Agile community and practices having a look at the perspective of the Agile’s future.

Manager's Introduction to Test-Driven Development

Dave Nicolette and Karl Scotland try to introduce non-technical managers to one of the most popular Agile development techniques: Test-Driven Development (TDD).

Structured Event Streaming with Smooks

Smooks is best known for its transformation capabilities, but in this article Tom Fennelly describes how you can also use it for structured event streaming.

How to Work With Business Leaders to Manage Architectural Change

Successful architectures evolve over time to meet changing business requirements. Luke Hohmann presents how to collaborate with key members of your business to manage architectural changes.

Colors and the UI

In this article, Dr. Tobias Komischke explains how colors used in a GUI can influence our interaction with a computer and offers advice on using the appropriate colors for the interface.

Building your next service with the Atom Publishing Protocol

In his presentation, recorded at QCon San Francisco, MuleSource architect Dan Diephouse explores ways to use the Atom Publishing Protocol (AtomPub) when building services in a RESTful way.