Wednesday, June 6, 2007

SOA, I could just K.I.S.S you! - Part 3

Welcome back. If you missed the first two parts of this series, please follow the links below to start at the beginning.

Step 1 - Stake in the Ground

Step 2 - Education

Step 3 - Organizational Governance
This is where the rubber starts to hit the road. But again, realize that you still are not ready to hit the highway yet. This step involves getting your resources, processes and policies defined. In addition, you also need to begin thinking about funding strategies.

Resources
This is the time you need to identify who will be part of your SOA Center of Excellence (COE). This group will bear the burden of SOA for the initial phases and be responsible for defining the processes and policies and driving the effort forward. The idea here is that a small group can learn and evolve much faster than a large group. The goal should be that the members of the COE will eventually disperse into the enterprise and share their knowledge. As such, this group should be made of a diverse group of people from different areas of the organization.

Processes and Policies
It is important to remember here that you need not solve all the problems on the first pass. SOA is an evolutionary process and as such, you should focus on getting some best guess processes and policies in place. For processes, focus on strategies for identifying, requesting and evaluating services. For policies, focus on things like security, message exchange patterns and messaging profiles (e.g. WS-I Basic Profile and Basic Security Profile). Identify who your consumers might be. This is still early, but taking the time to think about this will help you identify the types of service interaction you need to consider moving forward as well as some educational topics you might want to consider (do you know what REST really means?).

Funding Strategies
This is never an easy task and there is no one way to go about it. The proper funding strategy for your organization is dependent on a host of parameters. Some of those parameters include: existing project funding model, existing infrastructure funding model (if any), willingness of project managers or budget owners to contribute to the effort, C-level support or mandate etc. In the end, you will find that this will be the biggest obstacle to your SOA effort. Without budgetary backing, all SOA activity will remain on the drawing board. Below are few possible paths to take, but again, these are nothing more than high level suggestions that should be adjusted to your environment:

  • Establish a Shared Services Budget - This approach represents a very communal strategy by setting up an environment that is conducive to success. The shared services budget is aimed at accomplishing two things. First, by setting aside money for build out of the shared infrastructure it allows the COE to lay some necessary groundwork and to continue to improve or maintain the common infrastructure. Second, by providing a community chest of sorts, it serves as a buffer to project teams who want to include either the utilization or creation of shared services in their project plans knowing that they will either spend less money (by utilizing) or have the costs (of creating reusable services) offset. A very important part of this approach is reconciling a project team's costs against contributions to or utilizations of the shared services infrastructure. Without doing this in a very visible and communicated manner, project teams may be reluctant to interact with the shared services for fear of coming in to far under budget and having subsequent budgets reduced as a result. This may sound counter-intuitive (that project teams don’t want to save too much money), but it is a reality in many organizations. Inevitably the goal IS to reduce the budgets across the board but it must be done in such a way that project teams do not feel as though they are being targeted for downsizing.



  • Create Incentive Programs - This approach represents the carrot. Offering incentives to project teams to create or use shared services will motivate people at a very real level. It’s very difficult to convince employees that operational efficiencies and budgetary improvements will translate into monetary savings that will trickle down to them. Instead, offer them short term incentives for suggesting, creating, driving, promoting and utilizing shared services. These incentives can be both team oriented (a long weekend, a nice dinner, recognition on corporate internal network) and personal (commendations, bonuses, raises, promotions). There still needs to be some general funding for the creation of the common infrastructure as well as periodic maintenance, but this money will be exclusively used for those purposes and not allocated to teams as they contribute. A key part of this approach is to recognize and not penalize project teams for going over budget if the extra money was spent contributing to the shared services. Obviously these efforts need to be coordinated and planned, but project teams need to be encouraged to think about the bigger picture and know that they will not be penalized for their efforts.



  • Create SOA Mandates – This approach represents the stick. Creating mandates to contribute to or utilize the shared service infrastructure will force project teams to make reuse a part of their process. Optional tasks are often the first ones to go when the schedule and/or budget start to become a factor. By creating, communicating and enforcing SOA policies and procedures for the project teams, they will have no choice but to alter their process to incorporate them. Obviously a very important step in this approach is to create clear, strategic and aggressive policies regarding the incorporation of the shared service infrastructure. The reason the policies need to be aggressive is to account for the natural learning curve of the organization as a whole. The organization will inevitable fall short of what ever policies are put forth initially, but by making the policies aggressive, you ensure at least a certain level of success and at the same time the organization will learn what is expected. The key here will be to slowly ramp up the enforcement of the policies or more specifically, to slowly increase the penalties for non-compliance. Initially, the enforcement should take on a mentor’s role where teams are warned rather than punished and shown how to succeed rather than penalized. As time goes by and the maturity level (or expected maturity level) increases, enforcement will become more penal.


Continuing Activities
Don’t forget that this entire process is cumulative. This means that the support you got in the beginning needs to continue to be there and continue to be communicated. Monthly updates or a recurring newsletter from the SOA champion (with contributions from the COE) will keep the effort in the fore front and help ensure that this isn’t one of those initiatives that gets hype in beginning and then forgotten about (The company may be used to that unfortunately).

In addition to continued support, there must continue to be education. This will include both continued education for the COE, continued enlightenment of the SOA champion and the beginnings of education outside the COE for people such as key business owners, interested project leads or anyone else who comes calling. The key here is to provide interested and key parties with the information they want or need, but not to hijack them and force them into day long learning sessions. Eventually such sessions will be beneficial, but for now, focus your efforts on those who want to be a part of the effort and those who are essential for success. If you make the effort public enough and get consistent reinforcement, you may be surprised to find how many people come to you.
_________________________________

Next Up: Evaluate Your Infrastructure

No comments: