I know we said we would engage in lively debate and apologize for kicking off by agreeing with Steve.
However, I think Steve has made some good points in his last posting when he says:
SOA became the answer to business agility, aligning IT to business objectives, increasing the return on existing investments, increasing business visibility throughout IT operations and so on.
And then characterizes Reuse as the major pragmatic driver of SOA – because it can be measured unlike the rather general benefits above. To my mind this is the primary challenge in building the business case: identifying how the concrete benefits of SOA can be mapped up to the general benefits and through that mapping actually measure the benefits. Without this mapping, it is too easy to come up with benefits which are in fact virtues:
I will align my IT strategy with my business objectives
what does that actually mean?
Only a fool would set out not to align IT with business. And only a fool would sign off a strategy which offers only unquantifiable virtue.
So what are the primary benefits of SOA?
To my mind they are reuse and easier integration across systems. Note that with second benefit, it should be stressed that we are talking about making integration easier through an architectural approach. This is different from using a single product which happens to be good at integration, an approach which runs into difficulties when you attempt to cross organizational boundaries. (And this of course doesn’t mean that you shouldn’t try to use a good product when you are implementing SOA!).
A lot of the other benefits such as developer productivity are either linked back to reuse or related to a specific product. (I won’t stray into the whole area of why SOA does in fact need to be implemented with an infrastructure product – or open source equivalent – designed for the purpose and not an old donkey of a product polished up to look like a young SOA stallion as some of the EAI vendors are attempting to do.)
And finally, if we agree that reuse/ease of integration are the benefits how do they map back to the top level objectives:
Business agility: If it easy to recombine existing services into new systems, there is less code to write and the job gets done quicker. This means the business can react quicker.
Aligning IT to business objectives: I have an Illuminatus Insight underway on this one as it is quite a complex area. However a 10 word summary might be: focus the investment on the immediate business problems (within the broader SOA context) and less on what to the business is invisible and expensive plumbing – and sometimes is just that with little tangible benefits.
Business Visibility: To my mind this is a side-effect of SOA in the sense that for most organizations this isn’t going to drive the SOA investment. However, as your business gets more joined up, business visibility increases.