business

SOA, architecture without foundation

Service Orientated Architecture (SOA) is something that is easy for the lay person to understand.  (Try getting a techie to explain REST and you will see the attraction of SOA to the business person – it’s understandable!)  Understandable, in my non-techie hands, is dangerous.  I am entirely unqualified to pass judgment on it, but there are a couple of  things I’ve observed and have been on my mind when I’ve seen SOA nastiness going on.  So excuse me whilst I wax lyrical.

Problem 1. IT haven’t got a clue.

My (lay) understanding of SOA: IT build ‘services’ that can be consumed by different applications.  SOA enables us to remove duplication and build the foundations for a scalable architecture that will accommodate changing requirements as the business evolves and grows.  Herein lies the problem; IT build ‘services’, second guessing what the business actually needs from said service.

Exhibit One:  Customer Details Service. It exposes details of customers to any application that will use information about customers.   It was designed by the architect in isolation based upon what IT believe a Customer Details Service will be required to do (e.g. the nature of the fields, the domain etc).  This is even though no application has been built, yet alone specified for (“we just know we are going to need customer details”).  It’s putting the cart before the horse.  But IT go ahead and build the service anyway, because they own SOA.   At a later date the business articulate requirements for a new downstream application that requires Customer Details.  It’s the Corporate Business whose domain is Corporate Customers.  But what happens?  The service doesn’t quite meet their requirements.  The fields are wrong.  The Customer Details Service fits the domestic consumer model but not the corporate customers model.  What gives? More likely than not the downstream application.  The corporate customer has to be shoe-horned into the domestic customer service. I’ve seen this done.

Lesson 1. Don’t build SOA in a void.  Get out of that architectural ivory tower and engage with the business (if you can get them to listen – see next point). Better still engage in Guerrilla SOA.

Problem 2. The business haven’t got a clue.

One of the sad realities of the corporate world is that walls that have sprung up and created internal silos that are difficult to bridge.  As the business, the consumer of technology, I want IT to deliver to my requirements, no more, no less.  If I am in the domestic consumer part of the business, frankly I don’t care about Corporate customers.  I’m fighting for my budget, and hell, if this SOA thing is going to cost more than doing a closed application that fits only domestic customers, that only I can use I don’t care.  I’m not going to pay for a “Customer Details” service that does anything except give me what I need to know about my customer.

Lesson 2. The architects should facilitate the discussion.  SOA is as much about your business vision as it is technical architecture.  Unless the business grasps what you are trying to do, drives the solution and requirements are both local and global, before long you’ll see some grand services that few use in the core and chaos is the periphery where the real business is done.

Bottom line?  All too often architects fail because they tend to focus upon the architecture part of SOA rather than the services.    Unfortunately, because of the siloed nature of so may organisaitons, unless it is driven by the architects it is unlikely to gain traction.  If there is a maxim that should be followed when considering SOA in an organisation, it is probably instilling the notion of ‘think local, act global’.

On doing business in Hong Kong…

…there are two things that are essential, the business card and the company chop. Every business meeting starts with the customary exchange of business cards, after a year in Hong Kong I have amassed a mountain of them that lined up end to end would get me a fair distance. And no official document is official without a company chop – ink stamp in any other language. Probably a remnant from British bureaucracy, a signature is not sufficient, no document is complete without a chop. The fact that you can get a chop made up at any stationers doesn’t seem to matter. In fact you’d probably get away with a potato print as a chop if you were that was your thing. The chop and the card are de rigueur, if there was something else I might add it would be the fax machine. It is not unusual to suggest correspondence via email to be told to send a fax instead.


What is your business

Should “the business” care about IT? Should an investment bank trader know anything about XML, or a marketer know anything about SQL? Probably not. Even less so should they be talking to their IT colleagues of their requirements in these terms. The business should speak to IT in a language of value driven requirements rather than implementation detail. What is the outcome you need or want, not how you think IT should deliver or implement it.

Yet in many organisations (especially where IT has historically had a track record of failure), the business has taken a greater interest in IT delivery. They start talking the language of the techie. When this starts to happen business operations no longer see the clarity of their business. They see systems. In an investment bank setting: the trade is booked in Zeus, settlements are handled by Minotaur, payments by Socrates. Corporate actions are handled in Hades. Depending upon the geographic region, client management might be handled by Tomsys, Dicksys or Harrysys. You ask a business person what do they do and they talk in terms of systems. Getting down to the underlying requirements of what they actually want to do is hard. Innovation and creative thinking are hard because they always return to what the limitations of the current systems are. They focus upon the requirement for a Reconciliation System rather than asking why there needs to be any reconciliation in the first place.

So here’s a suggestion. Act dumb. Forget everything you know about the way you do things and go back to first principles. How would things be if we were starting from scratch? How would you describe your business intent (not the what you do now, rather what outcomes you really want to achieve) in simple terms to a complete novice. I doubt the word “system” would come into the description.

What is your business?

Should “the business” care about IT? Should an investment bank trader know anything about XML, or a marketeer know anything about SQL? Probably not. Even less so should they be talking to their IT colleagues of their requirements in these terms. The business should speak to IT in a language of value driven requirements rather than implementation detail. Yet in many organisations (where IT has historically had a track record of failure), the business has taken a greater interest in IT delivery. They start talking the language of the techie. When this starts to happen business operations no longer see the clarity of their business. They see systems. In an investment bank setting: the trade is booked in Zeus. Settlements are handled by Minotaur, payments by Socrates. Corporate actions are handled in Hades. Depending upon the geographic region, client management might be handled by Tomsys, Dicksys or Harrysys. You ask a business person what do they do and they talk in terms of systems. Getting down to the underlying requirements of what they actually want to do is hard. Innovation and creative thinking are hard because we always return to what the limitations of the current systems are. Why there is a requirement for a Reconciliation System rather than asking why there needs to be any reconciliation in the first place.

So here’s a suggestion. Act dumb. Forget everything you know about the way you do things and go back to first principles. How would things be if we were starting from scratch. How would you describe your business intent (not the what you do now, rather what would you do) if you had to explain it to a novice who was starting a competitive business to put your business out of business. I doubt the word system would come into the description.