"We didn't start the fire ... it was always burning since the world's been turning ..." [Billy Joel 1989]. Is SOA the "Same Old Architecture?" or is it "Simply Over Ambitious?" Let's apply SOA's arsenal:: XML, BPM, Services, SOAP, Web Services - to the real world and find out. Let's put out some fires.

« Will Next generation XML Appliances propel XML and SOA into the Enterprise Mainstream? | Main | SOA on its way out? Lets get ready for future »

Making Your SOA Journey Successful – Key Aspects

Adoption of SOA is growing faster and faster. But whenever an organisation adopts new approach/framework/technologies, mistakes are likely, and SOA is no exception to this rule. I have been personally involved in quite a few big SOA (Service Oriented Architecture) initiatives. Keeping the trend of mistakes, organisations and I have experienced those and tried to rectify those in the subsequent ones and thus those become part of the best practice. Even though organisation starts with a big dream of SOA with Strategy, Roadmap, Value add to business etc etc, there are number of key important best practices to be followed which have been experienced by the industry, are above and beyond just having SOA Strategy and Roadmap at the beginning. So, it's very important that the experience of the early adopters of SOA is captured for the benefit of those who are planning to adopt SOA in the near future. Identification and documentation of all those processes / policies / technology / best practices that is most essential - will help enterprises avoid mistakes and successfully implement SOA. I have captured few of the processes / best practices which must be in place for adopting SOA in an enterprise.

Most important ones are listed below. Some of those you might have already taken care while others are looking for complete list.

 

1. Think Big but Start Small: Most of the organisation I have interacted with seems to be in real rush of realising the benefit of SOA as early as in just 2-3 months and that sets the expectation too high. This essentially in turn moves the attention from building the base SOA infrastructure towards implementation. As a result, lose track in the mid-way and eventually blames SOA for NOT being able to full fill the expectation. Instead, select a well thought of ‘Pilot’ (i.e. set of use cases) which captures end-2-end flow of the business and would have visible impact (Ah Ha! effect) and tangible RoI. Implement the pilot on a well established base infrastructure. Use the experience of the ‘Pilot’ to enhance your SOA processes (Governance, Service Life-cycle, Technologies, etc.). In the recent Gartner SOA conference in London, the same sentiment has been echoed by different organisations who shared their SOA success story.

 

2. Governance key to success: SOA without Governance is the perfect recipe for failure. SOA without governance is like ‘class full of brilliant students without a teacher’. SOA is lot more than just creating bunch of services. There is the whole notion of infrastructure & processes on which those services will be running & managed and external system with which those will be interacting with. To manage the complexity, there has to be a governance process based on well defined standards, policies and processes along with reviews, checkpoints, and metrics.

 

Don't take any short cuts when it comes to governance. You may eventually get there but it will be much harder to implement things at a later date. One can get there today, but several months from now on when there would be over a hundred services and a dozen projects in production, you better have this resolved now or you will be sweating hard then (and forget about the benefit of SOA) instead of working smart.

 

3. Govern policies that matter most: Policies are must to have to make the Governance easier and making SOA deliver the intended result. However, having too many policies and treating them all with same priority means ensuring things would not be delivered early (some cases never). So, it is imperative to focus on policies which are critical to making the business, IT and other involved parties work together for success. Focus should be to meet the customers’ expectations/needs and ensure that they are getting the same. Having too many policies is like ‘making every word bold in your email to highlight the message’ – defeat the core objectives. Having too many policies is just as ineffective as having none (maybe worse).

 

4. SOA is expensive: Bear in mind that SOA is not cheap. Building & managing reusable common services is expensive. As per the industry experts, making services re-usable is 2.5 times more expensive than building a software component. Then why SOA getting so much of attention? The fact is getting SOA working with first set of well designed services is expensive, but once you are running with SOA changing your business (fulfilling your business demand) is much faster and you start realising the benefit.

 

5. Make governance easy and do it early: Have governance in place early in the SOA adoption and follow the ‘KISS’ policy. More and more organisation have started realising the importance of having governance right at the beginning while SOA makes its journey through Gartner ‘hype’ to ‘disillusionment’ to ‘slope of enlightenment’ phases.  Getting Governance right at the beginning (integral part of SDLC) reduces confusion and rework while governance becomes an integral part of the SOA journey without being a burden to the whole SOA team.

 

6. Get your Communication tool in place – Develop common terminology: Not a new ‘mantra’. Like any other abstract architectural approach, when talking about or arguing over something as abstract as SOA, just talking over phone or meeting in the coffee area is not going to do the job. Get it documented – use tools wherever possible. SOA team should use tools (Visio, Modelling tools) to capture the ideas – like service life-cycle, service orchestration etc – to get agreement faster.

 

7. Getting the right Interfaces are key: Don’t worry too much about your implementation of services. Well defined interfaces (with right strategy for versioning etc.) would make or break your services. One can implement the actual services in whatever way (technology, infrastructure etc.) they want which really does not matter as those are completely hidden (encapsulated) behind the interfaces. It’s unlikely that SOA would be ‘greenfield’. Most of the cases, SOA is a migration. So, keeping the focus on Interface is much more important than anything else.

 

8. Each service should have owner: Decide the ownership of the services upfront – again one of the aspects of Governance. For every service, ownership has to be defined at two levels - Business and IT. Business owners are responsible for the business capabilities of the services, including the cost of running it, and its value (business) proposition. IT owners are responsible for development, maintaining different versions of services, ensuring the service level agreements (SLAs), and making sure consumers of the service are satisfied with it.

 

9. Be pragmatic: No need to be perfect. Achieving perfection in SOA would make SOA journey towards failure as business would not wait for eternity for IT to deliver perfect SOA. Deviations are inevitable from SOA best practices and your organisation is no exception. So, need to have a plan on how deviations will be dealt with and accordingly tracked as part of the governance process.

 

10. SOA is to change Business: Treat SOA as a business opportunity not a re-platform program. So start with business process design – a top down view – which would provide right insight into what business services to be designed. This would help to get business view of SOA right at the beginning and be easier to manage business stakeholders

 

11. Managing Stakeholders key to success: Setting the expectation to key stakeholders (Business & IT) and keeping up to that is must for successful SOA. Every stakeholder would have different expectation (in terms of benefit) or see SOA differently – like ‘the Six Blinds and Elephant Story’. However, we need to ensure that everybody understands the value proposition SOA is bringing on the table and aligned with that. This would help addressing the funding challenge and buy-in by showcasing the strategic value of SOA while having very clear roadmap to move towards SOA journey. This would eventually help the Organisation to achieve the business value of SOA collectively.

 

Even though all these are good to have, Governance is KEY to SOA. Through an on-going governance process, organisations need to measure how far one is from the SOA goals and what is going good or bad. Accordingly, decide what is to be enhanced to address those which are not going in the expected way and move towards success.

Hope I have provided some useful thoughts on how to avoid known mistakes in a SOA programme. In my subsequent blogs, I will cover where and how to start SOA journey.

TrackBack

TrackBack URL for this entry:
http://www.infosysblogs.com/soa-mt/mt-tb.fcgi/85

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)