Pages

July 2010
M T W T F S S
« Mar    
 1234
567891011
12131415161718
19202122232425
262728293031  

Why Does SOA Need Strong Program Management Capability?

A lot of companies are moving or intend to move to SOA. Naturally, they are asking what the prerequisites are to be successful with SOA. I’m sure there are many, but one that doesn’t get much consideration is good program management. The reason program management capability is a prerequisite to SOA is because:

  1. The highest value in SOA comes from the reuse of services (as opposed to initial use). To ensure you are getting value from SOA, you must monitor your service inventory over time to observe reuse being realized. Most project structures are only concerned with the benefit achieved through instantiation, not the benefit of reuse.
  2. Services must be designed for future use to be reused and not rely solely on luck. This doesn’t mean that every future function of a service has to be designed and written during the creation of the service. But it does mean that every function that is written for the initial service should consider future possibilities for reuse while being designed.
  3. Designing services for future reuse usually requires investigation outside the boundaries of traditional project structures. Most project structures are oriented around solving a specific problem currently being faced, usually by a specific department willing to sponsor the project. Such project structures are unable to support the weight of considering uses outside of the sponsoring department needs much less the potential uses in the future.
  4. Designing services for future reuse requires an “outside-in” perspective. Ultimately, the experiences customers have trying to use your products or services to solve their problems drive the potential future use of services. So not only does service design push departmental boundaries, but it also pushes outside the internal organization of the company itself. Again, this kind of scope is not typical of traditional project structures.

So what is needed is structure that has a duration that lasts beyond the scope of any one execution project and investigates future opportunities for reuse during design activities while considering needs across departments from an “outside-in” customer perspective. This mechanism should manage the value realized of business services over a period of time that encompasses their reuse. In my opinion, this mechanism is program management when at its best. Without it, the result is an SOA with redundant services and/or higher development and deployment costs from constantly changing functionality within existing services.

3 comments to Why Does SOA Need Strong Program Management Capability?

  • Excellent points – thanks for clarifying the connection between SOA and Program Management. I think that implied in your points are also connections to Service Management (which is inherent in Service Oriented Anything) and Product Management which is a discipline I’ve long felt is needed by IT organizations, but that few seem to understand or invest in.

  • Good post Roy.  For enterprises I completely agree with your core argument.  On the topic of service design, I’ve a couple thoughts drawn from recent experience and what I’ve been seeing with Web 2.0:We’re seeing a resurgance in web services built to "be conservative in what you do and liberal in what you accept from others".  This age old principle is the core of the modern mashup.REST-based architectures and syndication protocols (RSS, Atom, etc) emphasize "data creating" services over the "action performing" services we saw with SOAP or RPC-style architectures.
    Taken together these two trends make it easier for the service designer to "accidentally" achieve reuse.  By being forgiving (#1) and returning data streams (#2) we allow easier recombination under unanticipated scenarios. 
    In contrast, service design previously emphasized tight contracts and atomic actions.  This forced the service designer to anticipate future usages and subsequently broaden or extend the service API footprint correspondingly.  This eliminates accidental reuse.   
     
    This conversation continues at BSG Alliance
     
    Brittain
    View My Profile
    Managing Director, Applications Team
    BSG Alliance

  • [...] and to business-IT maturity.  This thread is inspired in part by my colleague Roy Youngman’s post on Program Management and SOA and also addressed an issue that comes up from time-to-time in my client [...]

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>