With SOA, the business case may be strengthened by uncertainty. SOA helps to protect the business and its systems against risk, and keeps more options open. The greater the uncertainty, the greater the value of options.
- The classic way of constructing a business case is to estimate the costs and the benefits, estimate the timescale in which these costs and benefits will occur, and use this to calculate a return on investment (ROI). Timescale is important in investment decisions - costs and benefits are usually spread over an extended period. Earlier benefits are worth more than later benefits. A standard accounting technique for calculating ROI by aggregating costs and benefits over different times is known as discounted cash flow (DCF). Future cash flows are discounted even if they are 100% certain.
- But in most situations there are various dimensions of uncertainty - about whether, how much, and when benefits will be achieved; and whether additional costs and delays may be incurred. So the business case needs to factor in an adjustment for risk, which can reduce the economic feasibility of a proposition. Higher uncertainty is usually reflected in a higher discount rate, and this reduces the value of future benefits, especially longer-term ones.
- If we now add SOA into the equation, we may be able to identify differences to cost, timescale and benefit that are produced by SOA. SOA is then justified if the net effect is positive (in other words, if there is any additional cost from SOA, it is more than offset by faster or increased benefits, or reduced cost elsewhere). In some cases, SOA may convert a non-feasible proposition into a feasible one.
- Finally, we may adjust the SOA increment for its effect on risk. In many cases, one of the most important elements of a business case for SOA is its positive contribution to risk management, and therefore feasibility. A well-design loosely-coupled architecture will be protected against events that might otherwise increase total lifetime costs or reduce benefits.