Monday, March 23, 2009

The Triumph of Hope over Reason (SOA & The Tarpit of Irrelevancy)

This is the fifth in a series of blog posts where I discuss what I see wrong with SOA (Service Oriented Architecture) in the way that it's being sold by vendors. For those who are behind, you can read the previous installments here:

A very funny site shows that this Internet thing might not be a fad. The Chuck Norris Facts web site has lots of great hyperbolic claims about Chuck Norris, American actor and legendary bad-ass. Some of the "facts":

  • If you have five dollars and Chuck Norris has five dollars, Chuck Norris has more money than you.
  • There is no 'ctrl' button on Chuck Norris's computer. Chuck Norris is always in control.
  • Apple pays Chuck Norris 99 cents every time he listens to a song.
  • Chuck Norris can kill two stones with one bird.
  • When the Boogeyman goes to sleep every night, he checks his closet for Chuck Norris.

Some of this may be just a tad exaggerated. I'm pretty sure that when Chuck Norris does pushups, he is not in fact pushing the earth down instead of pushing himself up. The site is here, if you want to go read more of them. I'll wait.

OK, now that you understand more about Chuck Norris, here's another site of over-the-top exaggeration about an over-hyped subject: SOA Facts, modeled after Chuck Norris Facts:

  • SOA is the only thing Chuck Norris can't kill.
  • SOA invented the internet, and the internet was invented for SOA.
  • SOA is not complex. You are just dumb.
  • SOA can always win at TicTacToe. Even if you go first.
  • One person successfully described SOA completely, and immediately died.
  • In a battle between a ninja and a jedi, SOA would win.
  • SOA knows what you did last summer, and is disappointed that it wasn't SOA.

I used a bunch of these in one of my SOA talks as bumper slides between the various topics, which provided a nice fun icebreaker. But I reserved two of them for the last part of the talk because I think they aren't exaggerations at all, merely deep truths:

  • Implementing SOA for the first time is the triumph of imagination over intelligence.

  • Implementing SOA for the second time is the triumph of hope over experience.

SOA has gotten so complex, with so many moving parts, that getting it right is extraordinarily difficult. Once you've lived through one of these projects (especially if you've fallen into the other tarpits I discuss in the previous installments), you understand the first quote at a deep level. That you would try it again truly is the triumph of hope over reason.


zinho said...

Neal, talking about SOA and funny, do you know this one:
Poor Greg!

mBread said...

I do wonder whether the problem is when one tries "Implementing SOA", rather than using SOA (or 'the principles (or patterns)' of SOA).

But of course, this is all about "the way that it's being sold by vendors". Perhaps you could say they want us to focus on "Implementing SOA", when we should be focussing on implementing "the simplest thing that could possibly work" (or, the simplest thing that could possibly work AND be maintained - through refactoring, existence of a regression testing suite, etc), which may or may not use the principles or patterns of SOA.