For the past few months, I have been working with two well know Financial Services firms around “SOA” initiatives. I put quotes around SOA because different terms describing services are used in each firm for various reasons (usually politically in nature). At the core, each firm is looking at how to use services to facilitate greater levels of reuse within their development organizations. One interesting fact to note is each firm’s primary driver: one is doing this to reduce the rate of increase in IT spend, the other is hoping to increase the velocity of their application development cycles (shorten the cycles to get products out faster).
One of the most interesting aspects that has come out of this work is the acute awareness of the social aspects of SOA and how important that is for the success of any initiative. (Steve Vinoski has written a wonderful article about the Social Side of Services).
Firm A has invested considerably in socializing the concepts of SOA and reuse through out their organization (up to the highest levels of management). They have a very clear plan on how to implement services across their organization; understanding of new positions that will need to be added to ensure services succeed; functional technical areas that will need to be addressed to enable services; mechanisms to measure the amount of reuse in order to track their progress; programs to educate the developers on services and reuse. All this work was done by the Office of the CTO and took time and effort to put in place, but Firm A realized the need for this and made this investment.
Firm B decided over a year ago that they needed to do SOA based on all the hype in the market place. This decision was made by the business side of the house versus the technology side. Services were soon showing up in project requirements the business side was sending over to the IT Development groups. There was no real centralized planning or coordination with regards to services. Now IT is playing catchup and trying to make sense of all services currently out there. One of the big problems they have is that most of the services that are available are not really reusable by most others, just services internal functionally from applications.
Doing a postmortem on Firm B’s services, you see a number of number of mis-steps that has been taken with their SOA initiative. One issue is the fact that the business side of the house needs to provide functional requirements, not technical requirements. A second, more important, issues is that fact that Firm B totally ignored the social side of SOA…they never took into account the political, organization, and cultural changes that need to be implemented to make SOA really work for them. They never did an analysis of how services could benefit their application environment.
While on paper Firm B has been doing SOA much long than Firm A, Firm A will see value from SOA much sooner than FirmB. In this case, a little investment will go a long way for Firm A.
It’s still amazes me how much technology development or implementation (even at large companies) occurs without taking into consider the social impact of the technology. Even when it’s the social impact of technology on techies (i.e., developers or managers of technology).
I’m curious to hear from others with regards to the social techniques in use within their organizations when it comes to SOA or technology in general…