I just returned from the BrainStorm Group show in NY. This show has 5 simultaneous tracks with the leading track being business process management. I co-Chair the SOA track, which is starting to grow, but not the way I anticipated.
I figured that anyone at that show interested in BPM would be equally interested in SOA–and they should be. However, when I speak with individuals that are there primarily for the BPM content, and I mention SOA, I get answers like, "Oh, that's not me, I have nothing to do with that. That's our IT department."
Okay, so I ask you the reader (rhetorically), who educated the world that SOA is an IT initiative? Talk about sheep, geesh! Let me put this to rest right now, SOA has nothing (N-O-T-H-I-N-G) to do with IT. It is a design pattern that can be applied to any type of system in the world, including purely human based systems, such as order taking at McDonalds!
So, why do I bring up McDonalds you ask? Because they are creators of one of the most interesting and novel SOAs in the world. Now, to be completely honest, I don't know that McDonalds has even implemented what I'm about to describe. I heard it on a radio report on a news radio station, but then again, it can be an SOA without ever having to be implemented. Why you ask? Because SOA is an architecture, not a system. Anyway, back to the McDonalds story.
If you think about McDonalds with drive-up windows, you realize there is a major impediment to quality management. The speaker systems are hard to hear over the surounding noise. If you combine that with workers that don't natively speak your language, you end up with a good chance that the order will be wrong. If you're McDonalds and you're worried about slipping profits and losing customers at the drive-thru windows, you're certainly going to look for a solution to this problem.
The solution is pure SOA and the only technology involved is purely telecommunications. To improve quality of order fulfillment at the drive-thru window, the news report stated, McDonalds was going to connect the drive-thru window ordering system with a call center comprised of native-speaking individuals. Wow! Do you get it? McDonalds does! They turned order taking into a service. A service that, if they choose to in the future, they can outsource with no impact to the processes that are in place.
Ladies and gentlemen, this is what SOA is about. It doesn't belong to IT. If you're responsible for designing processes that are optimal, redundant, foolproof and reliable, then YOU ARE RESPONSIBLE FOR SOA! To be ultra clear here–if you design your system as a set of services, such that the service provider can be changed without impact to your processes, then (as Mr. Foxworthy might say) you might be an SOA.
What really gets my goat, is these are the same people that will complain that IT is a bottleneck to their innovation. That's because you overwhelm them with tasks that require a high-degree of business domain knowledge and they're stuck climbing that learning curve while you're constantly beating them up for not having it to begin with. Hey, would you expect your heart surgeon to also know how to fix your teeth? So, why do you believe that every developer in your organization should understand how your business operates? Reset your expectations and allow your IT department to focus on their areas of expertise–systems development.
How do you do this you ask? It's easy! You design a services that are tightly-focused on a particular domain of the business, you describe all the roles, responsibilties and processes of that domain and then you provide IT with pieces of information they need to make that domain operate successfully.