Wednesday, December 13, 2006

SOA and LEGO, do you dare to compare?

SOA is about flexibility, which means the ability to be changed after being built.

Many people compare SOA building blocks (services) with LEGO blocks when evangelizing the concept to the nitwits. See Google, or this blog of Joe McKendrick. Or this one of Jason Bloomberg.

Well, let's try out the analogy. First start building a nice fortress with LEGO blocks. Then after you finished it, just change one little LEGO block somewhere in the middle of the wall. You won't be very happy, I suppose. Not to mention creating a new window or a door. And, o my dear, make the cellar a few feet deeper.

LEGO constructs are easy to be built, but a nightmare to be changed and so have nothing to do with flexibility.

Business people never seem to understand the IT-folks; I know why... do you?


James Taylor said...

Well sure, you can push an analogy to its limits and beyond ;-) That said, I do think the analogy works OK for assembling moderate sized components from atomic ones. Like you I think these need to be linked in a more event-based, less coupled way. I also think that making highly configurable services is needed too, not just making it easy to assemble services (in part to allow changes buried deep in a linked set of services).
Check out this post on my take on Lego SOA and this one on agile services.

Jack said...

You are right, James, I pushed it to the limit. What I wanted to stress is that the focus tends to be highly on the connectors (web services technology)and hardly on the functional tight coupling, which limits flexibility. So, after all the analogy with LEGO isn't that bad at all... ;-)

Antony Kimber said...

I've linked to your post. I think the point you made was a good one and it was well put. Check out my post in

I notice the link to the post was automatically discovered below.

Anonymous said...

I often use the Lego analogy with non technical stakeholders to provide them an example of interoperability and re-usability. Your comments around adding another window or deepening the cellar does not hold up. Lego constructs can be desconstructed and reconstructed without damaging the whole, something that SOA also strives to achieve.

Jack said...

Hi anonymous.

Ik think SOA is about flexible change, not about reconstruct.