We are told SOA is worth it, we are also told that it is difficult, and then we are told that there have been many failures. What do we need to do to deliver?
I was in the forefront of component based development in the mid 90s. We framed and solved most of the issues that seem to be troubling SOA then. We worked out business oriented methods of identifying components that were worth building and would be reused, and that the business would buy into investing in. We reorganised the IT department from top to bottom to meet the needs of the new style of development. We changed the development process. We changed are release process. We made the effort at all levels to change, the methods that we put in place then have evolved and now successfully deliver SOA.
Some of the technical issues that we had then have been addressed through infrustructural product development. But the conceptual and managerial issues are deep and require major surgery to the traditional IT department. We hear a lot about SOA governance being the answer. It is much more than that! It is business change governance, it is business change organization, it is business change processes, it is aligning IT attitudes, processes and organization. You cannot deliver SOA successfully unless you have a collaborative approach to business change.
There are those organizations that are willing to invest time and effort in changing the way they deliver IT so that they can deliver SOA successfully. But for the others, maybe SOA is just too difficult?