What's Killing SOA?
Several recent articles have discussed why many SOA initiatives are failing. In early July, when vice President and research director Anne Thomas Manes presented at the Burton Group's annual Catalyst conference, she said most SOA failures are due to people and cultural issues more often than for technology issues. I totally agree with her assessment, as I have been blogging about this same issue for a long time.
So now we know who to blame for failed SOA initiatives. It's the people, stupid! But just why do people make SOA fail? Let me count the ways.
1. They fail to explain SOA's business value.
One of the most common mistakes IT people make is that they approach SOA purely from a technology perspective. They spent a great deal of time and effort on architecture, governance and vendor assessments (which is good), but they forget that SOA needs to solve real business problems. So they spend a huge amount of time and money building out the architecture-only to find that when they are done, nobody in the business understands the benefits and are not interested in the technology.
Recommendation: Start with real business problems first. This is why BPM ( business process management) is the "killer app" for SOA. BPM solves several business problems by improving and automating business processes. It provides visibility into operational performance, enhances agility by allowing the business to change their processes dynamically without IT involvement, eliminates waste-thus reducing costs-and much more. Start by showing the business how SOA will solve real business problems first. Then address the technology issues.
2. They underestimate the impact of organizational change.
As with any transformational initiative, resistance to change is a project killer. SOA brings massive amounts of change to an organization, especially if the organization does not have a well established enterprise architecture in place. Fear of the unknown is the greatest contributor of resistance to change. People need to understand WIIFM (what's in it for me) and why changing their ways is good for both them and the company. The challenge is people at different levels within the organization are affected in different ways. Each level of the business has concerns which need to be addressed which must be solved at an individual basis.
Recommendation: Create an organizational change management (OCM) plan. I would go one step further and hire an external OCM expert to help the leadership team of the SOA initiative deal with change. I am a big fan of John Kotter's eight-step methodology.
3. They fail to secure strong executive sponsorship.
Without strong executive sponsorship, it is highly unlikely that your SOA initiative will accomplish its goals. SOA spans multiple departments, multiple systems, and is a major undertaking. You need a strong executive with clout to keep the initiative moving forward and break down the barriers along the way. But clout by itself is not enough. This person also needs to have enough time to focus on the SOA initiative to keep the sense of urgency at a high level.
Recommendation: If your SOA is aligned with key business drivers, the executive sponsor should be a high ranking business person who benefits substantially from the implementation. Let the business own and drive the portfolio of projects that drive the SOA road map. In technology companies, it is highly likely that the CEO, CIO, CTO or Chief Architect is the executive sponsor. Whoever you chose, this person must be able to move mountains and should have a proven track record of successful leadership.
4. They attempt to do SOA "on the cheap."
SOA is not something you buy, it is something you do. Some companies attempt SOA with limited budgets. In addition to all of the middleware that is required, there are huge investments in governance tools, training, consulting, infrastructure and security.
Managing SOA in a production environment is challenging because of its distributed and loosely coupled nature. Don't skimp on the lifecycle management tools or troubleshooting will be like trying to find a needle in a haystack. Some companies will try to take on SOA projects without any outside help to shave off the high cost of consultants. Unless you are loaded with people experienced in SOA, trying this without outside help in order to save money can be a recipe for disaster.
Recommendation: Create an SOA road map with a portfolio of projects and a vision of the long term benefits that SOA will bring to the company. Create the financial justification for the entire SOA initiative and show the ROI, NPV, IRR or whatever the most important financial indicators are for the company. If you build a good enough business case, there should be enough money to fund the initiative. Also, several great open source products are available that can greatly reduce the overall costs of your SOA implementation.
5. They lack the required skills to deliver SOA.
There are many specialized roles and skill sets required which probably do not exist within the organization. You need SOA architects, business process modelers, administrators of the tools within the stack, data architects and many other skills. These positions are not cheap. Trying to implement SOA without any SOA experience is a major mistake. SOA affects all IT departments including testing, infrastructure and security. This is much more complex then sending a few developers to a few training classes. Don't forget the business, either. The business needs training on process improvement and possibly even on the BPM tools as well.
Recommendation: Develop an extensive training and resource plan and include it as part of the initial request for funds when delivering the business case for SOA. Try to reduce the number of times you need to ask for money and get as much as you can up front. Otherwise, management may view the SOA initiative as an endless drain on capital.