Tuesday, June 29, 2010

Way to effective SOA Governance: A case study

There are multiple issues faced by conventional IT companies on the way to implement effective SOA governance.
  • Lack of decision on what services to be built and how to make them reusable and sharable leads to interoperability issues.
  • No standard mechanism to reuse existing services.
  • No mechanism to impose standards and policies on the services
  • No control on service provisioning.
  • Lack of management and visibility on dependencies
Traditional IT governance believes on ownership of IT assets. This model does not help in SOA paradigm. SOA leads to reusable shared packages of IT assets.
As an example, we can consider a fictitious telecom service provider company as SDFTELECOM. They have various departments looking after customer management, inventory management, billing, service provisioning and activation. Each department has their own stack of systems to serve their respective areas of operation. Let us consider a set of systems participate in an end-to-end order fulfillment process. The systems were moderately integrated using SOA infrastructure. As per the ownership model followed, the participating systems belong to different departments of SDFTELECOM. With significant growth in business and increasing customer demand the systems need to undergo changes quite often. But due to the individual ownership of systems they are facing challenges in managing their SOA landscape.
In most of the cases the changes are made on adhoc basis. Services introduced during these changes are often developed in silos. Overall, they are not reaching the intended business agility goals due to the following issues:
  • There are significant issues with service reuse (or lack reuse).
  • The company is struggling to identify new service candidates and to prioritize them.
  • Governance of changes and versions for services is crude and unrefined.
  • Lack of mechanism to enforce operational policies consistently across the SOA runtime environment.
  • Adoption of standards is unsystematic.

SDFTELECOM has identified three key requirements to be addressed to overcome the abovementioned issues.
Govern how new services are created.
Maximize the reuse existing services.
Enforce standards and best practices across SDFTELECOM SOA landscape.

To implement effective SOA governance SDFTELECOM needs to accomplish the following activities.

  1. Setting up SOA vision and strategy in line with corporate and IT strategy.
  2. Business service portfolio modeling
  3. Services and implementation lifecycle
  4. Setting service standards, policies and prioritization
  5. Setting up a service funding strategy
  6. Controlling changes
  7. Aligning SOA strategy with Enterprise Architecture.
  8. Managing Service inventory and registries
The organization structure of SDFTELECOM IT is shown as below.



IT organization structure of SDFTELECOM

The organization is headed by a Top level IT Steering Committee (TLITSC) led by the CIO. The domain owners within the TLITSC are accountable for the business functionality within their appropriate business domain. These domain owners direct reporting responsibilities within their business domain as well as to the CIO. The TLITSC has a panel of key technical members as well. The technical members along with the domain owners attempt to have a convergence between business and IT.
The organizational model has a layer of Business Domain Directors and SOA Direction team next to TLITSC. Domain owners in TLITSC receive insight on priorities in their respective domains from the business domain directors. The business domain directors also work with the SOA Direction team to give insight on required business functionality. The SOA Direction team is in command of defining and refining the strategy and direction for the SOA initiatives, high-level direction of the architecture, and proper guidance of the service portfolio in association with the Business Domain Directors.
Core SOA Team helps out the implementation of required services with the guidance of SOA Direction team. The role of Core SOA Team is to help in defining various processes throughout the service life cycle as well as standards and best practices to ensure that the processes are properly communicated, enforced, and evolved. Similar to other layers of the Center ofCompetency (SOACC), the SOA Core Team also has representation from both the business and IT perspectives.

Distribution of responsibilities among different teams of SDFTELECOM is shown in the table below.
Distribution of responsibilities among SDFTELECM IT teams

Supposing a new requirement for a new service to check customer’s credit rating is placed by the billing department. The decision flow on whether the service to be created or reused is depicted below. The activities are numbered with 1,1A, 2 etc.

Decision flow for service creation

The distribution of responsibilities (shown in the flow above) among the teams are given below.
Similarly to service creation, more decision flows can be created for improving the service reusability across the organization and enforcing of standards and best practices for the services.