In the spirit of the segment that Bill Maher does on his HBO show, here are a few of my New Rules for SOA:
1) Stop telling me that ‘there is nothing new about SOA’. Everyone knows. No, really, they do. The fact that services can finally be implemented in a shared, non-prorprietary manner is what is new. And while it shares some conceptual similarities it is not ‘just like CORBA’. There is nothing about this observation that adds anything to a discussion of SOA.
2) Stop calling it SO-UH. My experience so far has been that anyone who says ‘SO-UH’ instead of S.O.A has a better than 90% chance of not knowing what they are talking about. And then they go on to prove it over and over by saying clever things like ‘SO-UH Architecture’, ‘SO-UH Services’ and ‘SO-UH Orientation’.
3) Stop using the tired old expression ‘boiling the ocean’ when referring to SOA projects. I may be overly optimistic in thinking that businesses have learned quite a bit about implementing large projects over the last 30 years and recognize that a phased approach is almost always the best way to go. This is an interesting one because while most true practitioners advocate a quick, iterative approach, several of the big consulting outfits have talked about ‘not thinking big enough’ for SOA and advocating huge, overly complicated rollouts. And, as previously discussed, the agile ‘failing to plan’ dream doesn’t work.
4) Stop saying that SOA isn’t a ‘product’. I am not sure who doesn’t get this. The architecture part of the acronym should give that away. There are any number of vendors who what to sell you their SOA-enabling products, but none of them has an SOA for sale. Similarly, there are also companies that will sell you an Accounting or ERP system. The purchase of the product does not instantly give you balanced books or a bill of materials. The business must take the building blocks they purchased and make them work in support of the business (which is rarely exclusively a technology exercise). SOA is no different.
5) SOA is not EA. SOA is one tool/approach in helping to achieve some of the technical goals of Enterprise Architecture — it is not a substitute for EA. I would be willing to say that without a well functioning EA discipline, any SOA effort will wind up not providing true enterprise services and value. Instead it will yield pockets of unmanaged services that may or may not interoperate based on which project developed them.