Are you tired of hearing about Services Oriented Architecture aka SOA yet? Like anything that gets as hyped as SOA, the term is becoming less and less helpful. My biggest concern with SOA however is that it's often being driven by the technologically oriented... Why the term itself drips of techno-speak... The potential offered by SOA is much more than technology it's about agile business process on-demand.
What's wrong with the technical approach to SOA? Simply put, the problem weighs the advantages of organizational efficiency greater than that of organizational effectiveness. We view SOA as a means to reduce costs through re-usable services allowing for faster application development. To do this we look at infrastructure components such as hubs, protocols, standards, repositories, development practices, etc... Yes, reducing costs to the organization and being able develop applications faster are good outcomes but it's only one aspect and quite frankly only a short-term advantage.
As organizations drive efficiencies in their applications through SOA, standardization and re-usability, they reach a point where the innovation they originally heralded as breakthrough becomes replicated en masses. At this point, trying to maintain this innovativeness becomes hugely cost in-effective as other organizations, with the sole purpose of delivering a 'best practice' arise and start to accelerate R&D and drive efficiencies. Geofferey Moore talks about this as moving from core to context. and Clayton Christenson discusses the shift from 'disruptive' to 'sustainable'. In other words if your focus on SOA is about driving efficiencies, it will eventually be replicated and further advanced through organizations that will specialize on this. Google recently addressed this as well in their call to CIO's to outsource almost everything.
So if SOA drives efficiency but that is only a short-term advantage what more is there? The answer is that SOA isn't just about developing new apps faster. It's about providing a Process driven fluid application. It's the intersection of SOA and BPM that will result in a sustainable competitive advantage. It's not just about building applications focused around end-to-end processes but the acceptance that those processes are subject to change and re-change and re-change. They will change in response to the environment. They will change because the focus for SOA should be on innovation. "Best Practices" in end-to-end processes will be sure fire way to eventually become average!
If we start with Business Process though we design our services around the processes. Either building services or buying services or sharing services are all possibilities. The breakthrough happens around an organizations ability to then rapidly re-adapt it's processes when it sees fit. This means we are not constrained to slow and costly IT to have the business transform. Wrap this with tools designed to move away from code and go to modelling and you start to create a platform for business process. Using innovation specific to your organization (NOT the industry) will allow you to do something your competitors can not simply buy off the shelf.
This could have catastrophic implications to companies such as SAP that have had for years provided us with "best practices" through proprietary means. That's another blog, but I will leave it that SAP is transforming though to capitalize on the potential. IF they can make their vision work...
If we don't move away from SOA as a technology focus to SOA as the platform for BPM focus, the rewards will only be a fraction of the opportunity.