SOA ROIs
Often the ROI question is taken out of context, so in order to arrive at a complete picture (and one that can be measured), several attributes of the SOA need to be taken into account. SOA is not a technology, it’s a design philosophy that must be understood and applied, and accordingly many appear to be missing the total affect of its potential.
First, because SOAs and agility go hand-in-hand, there is a whole process behind the interaction of people (developers, testers, support engineers, business management, etc…) and the SOA itself. Processes such as validation, support, requirements gathering, design, and even implementation are areas that are affected by the introduction of an SOA. Organizations can incur cost in restructuring their teams and establishing a new process, however they can also realize benefit from these enhanced processes by sharing or consolidating common activities. For example, costly software testing can be positively affected by an SOA, because consumers of services only need to be concerned with the service contract, not with the actual service implementation. This, in turn, allows the service implementation to be tested independently and consistently, thereby reducing both the cost and time required for software testing.
The next attribute to consider in ROI measurement for SOAs is the technical architecture itself. Various aspects that require development disciplines and methodologies must be defined and adopted. With the modularity of an SOA infrastructure, companies can measure benefits from the architecture in several ways. Modular systems are easier to modify and update or upgrade, leading to significantly lowered maintenance costs for existing IT systems. Also, SOA maximizes reuse of existing applications, using investments in the IT infrastructure.
Another area to think about in any ROI discussion is the SOA runtime infrastructure itself. Certain software infrastructure products must be acquired, installed, and managed, such as a message bus, a database, application servers and potentially many other components depending upon the need of the business. Despite the decline in cost of SOA-enabling technology, availability of SOA knowledge can require investment. Once in place, however, the runtime infrastructure serves as a single place where common plumbing for all solutions would be service from, allowing for the application parts to be focused on functionality, and not infrastructure, thereby reducing the time in which new solutions are deployed.
The final area to consider is the impact an SOA can have on revenue generation or simply enhancing the business model in general. Because SOAs allow for a focus on improved alignment of technology with business needs, a good area to measure is the enhanced business or product support (whichever the case may be) an SOA can provide. Special attention to well-focused, departmental or business-unit-level application projects driven by specific business requirements such as self-service portals, call center integration, etc. can demonstrate enhanced revenue capabilities in some cases.