If SOA is the answer - what was the problem?
Submitted by cfs. Business Analysts
During one of my presentations I have been asked by an alert and sceptical participant the (for SOA evangelists almost heretical) question.
If SOA is the answer - what was the problem?
And as I recovered from my struggle and stuttering on stage - can't remember what exactly I said but I survived - I realized that this seemingly simple question certainly deserves a good answer. However, I would have to do some real thinking in order to arrive at a satisfactory solution.
And here is my answer:
SOA solves (i) future integration problems or (ii) future flexibility problems of organizations with an (iii) irreducibly complex IT/IS environment.
Now let's have a look at the two active drivers (i) and (ii) first. Key point here is that SOA tries to solve future integration problems which derive from current properties of the IT infrastucture and IS landscape. If an enterprise (hard to believe but still possible) does not foresee integration problems in the future (e.g., across processes, across organizational entities, through M&A activity, through the need to better integrate information assets in new products etc.), if everything is in perfect harmony and balance to-day and the managers are sure this incredibly good present mode of operations is here to stay for the next couple of years, then such an organization would definitely not profit from a switch to SOA.
The same applies to the "flexibility" (or, newspeak, "agility") driver: If organizations truly are convinced that future changes may be kept at an absolute minimum, and that, contrary to the ideas of the "3rd Wave of BPM" (copyright Smith and Fingar), the capability to change really would not constitute the prime source of competitive advantage, then again such organizations would barely profit from a SOA.
But the existence of one or (even better) both of these drivers is not sufficient alone.
This is where the necessary (but alone not sufficient) condition (iii) comes into play: Irreducible IT complexity.
The first observation is that SOA is an answer for complex IT/IS environments (only). If you just happen to have a single ERP system, a DWH, a CRM tool and an archive system, you are not amongst the primary targets for SOA (at least not on grounds of the drivers (i) and (ii)).
Bearing that in mind we were happily chasing customers with "enough" complexity to warrant a SOA. And once this led us talking to a customer in the oil industry trying to persuade it to switch to a SOA paradigm who had just inherited 160+ legacy systems for a workforce of several thousands through an acquisition. Evidently, the IT manager whom we spoke to had a huge integration problem at hand [This is driver (i)!], the complexity was easy to see, and we hoped to be able to convince him to refactor old application functionality and elevate those onto a "services" layer, neatly orchestrated in our ESB, add on top of that human processes enacted in a suitable BPMS engine, and so forth. So much complexity, and so many licences...
At that point the IT manager interrupted us and said: Look folks, I understand and also do believe your approach, and yes, I have a real complex IT/IS environment - but: we have just decided to switch 130 of thos 160 applications to ERP XYZ - and, voila, after a transition period of (admittedly) a couple of yours I will end up with a nice (ERP XYZ centered) IT environment which is just nice for me and our organization. Is there anything else you could do...?
At that point in time we added the "irreducibe" in front of the complexity condition (iii): If organizations really do have another cost efficient and workable option to truly simplify their complex IT environments, than they should do that, bearing in mind risks and failures of rip & replace projects, of course, but nevertheless, I would probably also not pursue SOA on grounds of drivers (i) and (ii) alone.
But (and this is a great "but") for all other enterprises who do not enjoy such an easy escape route out of of the IT complexity trap, for these organizations it is SOA to the rescue and (almost) nothing else.
Actually, we at Software AG even have compiled a short and easy method capturing qualitatively and quantitatively (i.e., in the sense of measuring) those three drivers (i) - (iii) (The method goes under the heading of "SOA Value Assessment") Which allows companies to make in informed decision if and where they should further pursue SOA as a viable option for solving (future) integration or flexibility problems.