If your company is considering SOA, there are many issues and challenges that need to be addressed in order to improve the chances for a successful implementation. One issue that is often overlooked early on is an assessment of the company’s existing skill sets and the application development culture.
Skill Set Assessment
If distributed computing, abstraction, loose coupling, and service-orientation are foreign concepts in an organization, it will be challenged to implement SOA. These companies should seek out help from consulting firms who have a proven track record delivering SOA, but should not let the consultants run the show. There should be a strong technical leader who understands SOA and can set the strategic vision. The consulting firms should complement this person and help the company realize the vision. The consultants’ goals are to maximize revenue. The IT leader’s goal is to deliver SOA without breaking the bank! If a company does not have a strong technical leader with great business and people skills, it should hire someone. This person will cost top dollar but the initiative will likely fail without the right person in charge.
SOA requires specialists in many areas. A company implementing SOA will likely need enterprise architects, data architects, security specialists, process modelers, integration specialists, process analysts on the business side, and various types of developers. If there is a need to purchase software such as an ESB, BPMS, service management tools, etc., there will be a need to hire people to administer the software. Testers and infrastructure people will need to understand the concepts of SOA. It would be wise to consider bringing in an expert or two in this area as well.
Budget for a large amount of training. Everybody is impacted by SOA. The DBAs, configuration management personnel, project managers, testers, developers, architects, the business, and all of the specialists I mentioned above will need various types of training. One of the greatest cures for resistance to change is knowledge. The more these people understand SOA and its potential benefits, the less they will resist it.
What is the current culture like? Is there already a well established architect team in place? If so, are they respected as a group that delivers value, or a group of ivory tower philosophers? Does the organization have established standards to which people adhere, or do the individual teams make their own rules? The answers to these questions have a huge impact on the effort required to deliver SOA. Cultures that value enterprise architecture, governance, and standards will have a much easier time adapting to SOA then companies that do not have controls in place. Building services that are abstract, loosely coupled, extensible, and truly reusable requires a consistent and well governed design process.
Another thing to evaluate is the readiness of the business to participate in SOA. SOA done right allows organizations to break down departmental boundaries and look at business processes across the company, not just in a departmental silo. You can only achieve this if the different business silos are ready to work together for the greater good of the company as opposed to “protecting their turf.” That is why SOA requires strong executive sponsorship from within the business. Somebody in the business must drive the change required to get the line of business managers to think about the business at a higher level.
Then there is the IT and business relationship. Does the business trust that IT can deliver or do they feel that IT is ramming the next hot technology down their throat? All of these questions should be considered before any investment is made in an enterprise SOA initiative.
What are the next steps?
You should identify the gaps and the high risk areas and create plans to mitigate the risks after you do a skill set and culture analysis. If you take these steps early enough, the funds required to address these issues can be included in the initial project funding. This is an important point because many SOA implementations are expensive. Going back to the well for more money before anything is implemented is not a recipe for pleasing upper management. Resist the urge to dive in too quickly into solution mode and spend some time up front acknowledging the skills and cultural issues. As the old saying goes, “You can pay now or pay big later.”