meme: an idea, behavior, or usage that spreads from person to person within a culture agora: a gathering place

Welcome to Neal's gathering place for ideas.

Saturday, November 10, 2007

My Horse Scale of SOA

I've been giving some SOA talks over the last few years, and I struggled for a while finding a good metaphor to describe the evolution from most people's existing enterprise architecture to the magical, mysterious enterprise architecture described in most of the marketing material around SOA. Then, on one of my talks, I stumbled upon it, and later created an image that sums it up: Neal's Horse Scale of SOA:

You see, the marketing literature describes something that doesn't exist in the real world: they are describing a unicorn. You've seen paintings, drawings, and movies featuring unicorns. If you came from another planet, you would assume that unicorns lived here because there are so many representations of them. The problem is that most company's enterprise architecture looks more like a broken-down donkey. The SOA experiment is to see how close you can get to a unicorn before you run out of money. Maybe you'll get to Shetland pony and stop. Or perhaps you'll make it all the way to a thoroughbred racehorse. There are even a few that'll create unicorns, but they are exceedingly rare.

The point is that you can't trust the magically vision marketed by pundits and (especially) vendors. Building unicorns is expensive, and the more donkeys you have around, the more it will cost. SOA isn't a zero-sum game. It's should be a spectrum towards improving the communication and interoperability between all your disparate equines (i.e., applications and services).

"Brilliant"? C'mon, I woudn't go that far. Insigtful, but kinda like every other metaphor describing some entity, idiom or technology as basicaly coming in multiple effectiveness "flavors". In this case, a system of equine representatives of varying quality take the place of other graphic depictions or some (more succinct) arbitrary number scale representing an equivalent type of categorization system. The plain fact is that almost anything in this vast, enigmatic, esoteric, (sometimes overly) complex IT genre can be described in such terms - each's efficacy governed by the recognition of its intention, its sound basis in conceptual integrity, the ability of the technology's progenitors/ pundits/press to descibe it effectively enough, the ability of its adopters to understand the technology (meaning knowing when NOT to use it - think about that), and the manner in which it's implemented even with all that in tact. Do it right for the right reasons under the right circumstances with the right (measurable) goals, and you'll be ok; if not - well, better have a good supply of carrots (again, as with anything else)!