If you read the numerous technology blogs daily like I do, you soon realize that most people still don't understand SOA. Today I read this article from Joe McKendrick called Why even the best SOAs are stalling. In this article Joe discusses an article by Anne Thomas Manes where she discusses how she has only come across one company that has realized any value from SOA. In her article she referred to an article from Ron Schmezler at Zapthink called Why Service Consumers and service providers should never directly communicate. Apparently this article caused all kinds of heated debate on the message boards. Her conclusion is whether you agree or not with Ron that SOA and integration are two different things, the discussion is irrelevant.
....this technology discussion is irrelevant.....It has become clear to me that SOA is not working in most organizations.
So why are so many organization struggling with SOA? And why are even the organizations who are building SOA the "right" way not realizing the value? In my opinion, I don't think people truly understand SOA and its value proposition.
The business gets value when SOA is used as an enabler of BPM. You can reengineer your process all day, but you need to allow these business processes to communicate with your legacy systems. The business can't wait for IT to blow up legacy applications in order to create new user interfaces with robust workflows under the covers. Instead IT must abstract the legacy layer and make it easy to build composite front end applications that leverage years of investments in the legacy applications. This allows IT to deliver huge amounts of value to the business in a relatively short amount of time (if done right).
The value for IT is in reuse and speed to market. As your SOA matures, the amount of reuse grows exponentially. As Jason Bloomberg explained in Zapthink's architect boot camp, if you architect SOA correctly, you will move from creating services to consuming services. Once you have built a good baseline of abstract services, you can quickly meet the business's demands by assembling business services rather then building them from scratch each time. Think of it as Lego building. If you start with a hand full of white and red Legos that are rectangular in shape, you can create a few nice structures out of them.
Then you add more colors, followed by new shapes (circles, squares, arcs, etc.), followed by custom pieces (parts for trucks, trains, buildings, boats, etc.) and soon you can build an unlimited amount of structures.
The Real Problem
What I see as the real problem preventing companies from successfully deploying and realizing value from SOA is they don't fully understand SOA and they underestimate the amount of change to the culture. So here are the list of non technical issues that will kill your SOA project:
- If you don't align SOA with a key business driver, you greatly reduce the odds that you will ever reap the rewards of SOA.
- If you don't include BPM in your SOA implementation, then SOA becomes just another IT buzzword for the business and not an enabler.
- If you don't take a proactive approach to change management, resistance will prevail and you will spin your wheels dealing with change (been there, done that).
The problem with SOA isn't SOA, it's people. People must understand SOA and the importance of aligning their initiative with a key business driver. BPM is the killer application that can get your business sponsors on board. And finally, you need strong leadership with a focus on change management to pull it off.