Eric Roch wrote a great piece today called The Difference between SOA Theory and Reality. I started to comment on it but my comments turned into this post. Eric's key point is that there is no one right way to implement SOA.The reality of SOA is that every company is unique with widely different systems (as-is architecture) and culture .... The approach to governance and organizational structures will depend on the culture and capabilities of the organization.
This is true for all technologies not just SOA. I have read countless articles about the best approaches to delivering SOA, Enterprise Architecture (EA), ERP solutions, Business Process Management (BPM) and many others. Bloggers get into religious wars about how their approach is the only correct approach. These bloggers might generate a lot of traffic but they are doing the community a disservice. As Eric says, every company is different. In some companies, IT budgets are handed to them at the beginning of the year. These companies have to make due with the dollars they have and running a top-down SOA project is virtually impossible. In companies like mine, the business is funding the SOA and BPM initiative. We have specific projects that justify the expense of the infrastructure and capital investments for SOA. Once again, Top-down does not work in this scenario. This requires a bottom-up approach since the business is expecting new functionality every couple of months. In other companies, IT can be more strategic and budget for a multi-year SOA implementation. In this scenario, a top-down approach can be a reality.
Whether it is EA, SOA, ERP or others, it really comes down to these variables:
- Business driver
- Level of executive support
- Culture
- Time
- Money
- Talent