Service Oriented Architectures (SOAs) have been all the rage in the world of computing

for quite a while now, and many companies have had great success while others have

had failures. As with all things in life, planning is key when approaching a

SOA, and also like so many things, planning must be taken in moderation.

Frequent readers have likely picked up on my love of games, board games, console games,

PC games, even Tabletop RPGs. I am in love with the dynamic of engaging with

a group of people in a fictional model of something. While attending a recent event

put on by Sogeti about realizing success with SOA several corollaries clicked into

focus for me between SOA and the type of games called Real Time Strategy (RTS) games.

This article is the result, I hope you at least get a laugh.

I’m sure more than one of you is now saying: “Real Time Strategy games are like an

SOA? Tim’s popped a gasket.” But let me make my case. In an RTS

is a simulation of a struggle between two or more people to achieve dominance in a

environment with limited resource availability. Most businesses (not all) are attempting

to achieve dominance in a market with limited funds and other resources. As

such, since an SOA is supposed to digitally represent the core competencies of a business,

it is reasonable to say that SOAs likewise are trying to move a business towards dominance

in a market with limited funds and resources.

Now when planning a SOA, before you’ve implemented your first service even, you are

much like a player who has just started a match in an RTS game. You’ve likely

got a small amount of funding (likely peeled away from one project or another) and

one or two developers that you can have begin to work on things. Ah, and you

have your first complication as well. The staple of the RTS genre known as the

“Fog of War”.

The “Fog of War” in an RTS game is a sheet of black or gray that covers any area you’ve

not explored or cannot see currently because you have no units there. In our

comparison, this is the uncertainty of where to begin. Somewhere out there in

the fog are high value resources that will move you towards your goal, such as Gold

Mines in an RTS or key areas of flexibility which open new markets in a SOA.

The problem is you don’t know where.

Hence we come to the first and most important step of an SOA, planning. Different

ideas have been espoused for dealing with this dilemma, we will look at those now

and their RTS comparisons to see which we think we actually let us win the game best.

  • “The Big Plan” – Perhaps the most popular with large corporations,

    this plan states that the most important thing to know about a SOA is exactly how

    to build it right the first time. In RTS terms, these people want to spend a

    lot of time exploring the entire map so they know where all the key resources and

    pitfalls are before they begin to build out their game. The problem with this

    is cost, not necessarily in dollars/gold (though it can cost that as well) but instead

    the cost of opportunity. This plan spends so much time planning that it is possible

    that by the time they’ve decided to start playing, someone else has already one.

  • “Just Get Started” – In opposition to this idea, many shops (often

    smaller ones) try to simply start building. They will not explore the unknown

    areas around them, they’ll simply start building services without ever getting a lay

    of the land. Those builders are your developers/IT and they are well meaning,

    but they are not spending enough time interfacing with business, who cares about the

    big picture and clearing our fog. The results of this effort may be highly technically

    competent and well architected, but may be providing the entirely wrong type of resources

    to drive the business because they are not aligned with business. Nothing ruins

    a beautiful SOA more than a sudden and unexpected attack from a horde of Zerglings.

  • “Just Enough Planning” – Obviously the key to finding middle ground

    between these two extremes is moderation. We must gather resources and begin

    to build, but we also must explore the fog and find new opportunities. What

    is needed to make both these things possible is a high level understanding of where

    we want to go. In real world terms, this takes the form of a document which

    specifies the core competencies of the business. These are the silos that constrain

    IT’s development, directing in the way that victory is being pursued.

In RTS terms, we’re trying to make sure we’re gathering the right resources, so the

right types of things can be built and areas explored. As you build to the high level

plan, you’ll be exploring new areas, clearing away the fog and providing details.

Will this mean that you might stumble upon problems or unforeseen opportunities? Yup!

But that just means you need to plan for change … but that’s another post.


Tim Rayburn is a consultant for Sogeti in the Dallas/Fort

Worth market.