What Difference can SOA make?
Consistent and high-quality Service experience
SOA enforces standardization of service behavior which will mean that consumers of the services will experience high degree of consistency and quality throughout the life-cycle of the service delivery. This is particularly important because service experience is a key component of the ‘service orientation’. When services are being designed and developed, service behavior becomes an integration part of the considerations so that when services are deployed, the experience it creates with service consumer in terms of service engagement, service usage and service support, that makes lot of difference to consumer community.
More meaningful Business - IT mapping
Traditionally, I always felt that transition from business requirements to technical architecture has been a challenge in the industry due to lack of practical frameworks that can be used as transition model. With SOA, now we have service architecture sitting in between business functional design and technical design. This allows business functional maps to be easily configured and mapped to IT capabilities (typically using BPM wireframe) without creating hard-wiring between the two. This way in my view, whole service modeling and service architecture exercise brings Business and IT together where each has a critical role to play to make the SOA happen. This becomes partnering model between business and IT as opposed to traditional ‘handover’ model where business disengages itself after certain stage expecting IT to take over.
Shared view between Business and IT
Further to previous point, Service architecture acts as a common language / platform / view between business and IT and thus enables more meaningful and collaborative engagement between the two. Typically the gap between business and IT in terms of delivery model as well as common vocabulary has been a concern for most of the enterprises. Now Business and IT can talk the language of services that will make sense to both communities.
Service Level driven focus
Service level focus, in my view is a very essential part of the ‘service-orientation’ that also plays important role in the ‘service experience’ that we talked of before. In an SOA driven environment, service levels are governed to cater to stringent business performance metrics in direct fashion and hence entire monitoring, reporting, alignment, support and continuous improvement efforts are focused around the service level performance of the services. This changes the tradition model of ‘managed by exception’ to ‘managed for excellence’ which hopefully will change the level of accountability and ownership IT teams specifically take today for the business outcomes.
Separation of logical capabilities to provide simpler and cleaner architecture
Service architecture provides ability to consolidation and rationalize the business / IT capabilities in optimized fashion that have similar behavior, anatomy and operations. This allows more cohesive and efficient interactions/collaborations across capabilities in various logical layers (by design rather than by accident) to deliver final business outcomes. In principles, software architecture had the ‘logically’ separated layers always but with service architecture, now it is much easier to separate out the logical layers at execution level as well.
Easier Change Management
Changes ( of all sorts, technology change, business change, regulatory changes, IT vendor change, IT in-house staff change) are here to stay in the industry, at least for good number of years in my view. Through various core principles like decoupling, virtualization, meta modeling etc in SOA, it will make the life easier to change different elements of the solution without too much pain or expense. Change management is adopted as a mainstream focus for service management and hence we can expect more discipline in maintaining the software solutions.
Hide technical complexities of service implementation
Service architecture allows diversity in service implementation (through mash-ups, service virtualization etc.) to make use of new technologies while enforce standardized service interface to shield the consumers from complexity of service integration and implementation. As I see, industry is far from standardizing on a single technology platform and as we move further in future, more and more technology advancements will put the challenge to technology standardization. If we accept that fact, service architecture paradigm will allow enterprises to leverage new technologies in more flexible, open and easy manner.
Quicker and simpler solution composition
Making the software solution composition (highly productive, cost effective by reuse and ability to innovate solution patterns etc.) and development life-cycle (allows develop, testing and deployment done at service level where service being the modules of development and not the components) quicker and simpler is another difference SOA adoption can bring into the organizational DNA. This has long lasting implications, much wider than what we might think. Service architecture based development practice will bring innovation to transition typical ‘build’ intensive solutioning methodology to ‘composition’ intensive methodologies. This will not only allow the need of having large ‘coding’ teams with intense technology knowledge to be shifted to more ‘solution composition’ teams that may not so much technology intensive knowledge requirements. That way, today software development talent profiles are already upgrading themselves into new roles which I think is a positive change.
Business Scalability
Ability to support (and even ignite) the business growth (more services, more users, more geographies, more partners) through accelerated scalability, global integration capability and easy service on-boarding infrastructure is definitely a great win for business community. Business scale is not just in terms of doing more of the same but actually lot more of ‘doing different things’ for which time to market is a key differentiator. Service fabric of the business-IT architecture allows easier composition of the solution as we learnt in previous points and further to that, it ensure that when business goes out for scaling in terms of functionality, geographies, value chain expansion etc, the SOA enabled business-IT architecture acts as a enabler to support the change.
In general, I could say that SOA has lot in store to transform the organization but probably it is the seriousness that industry has to get to make it happen. I'm very confident that it will happen. What do you think?
