While everyone is bound and determined to build an SOA within their enterprise--perhaps even between enterprises--few have attempted to determine their Return on Investment (ROI) to justify this approach and technology. True to form, we are again approaching new technology with fervor and excitement, but we also need to figure out the business case for this movement.
These days, IT architects and business people must work hand-in-hand to determine if changes proposed are the proper course for a business. Indeed, the application of an SOA has different degrees of ROI, depending on the problem domain. The cost of implementing an SOA should be directly related to the benefits to the business, in both hard and soft dollars. Letís explore this notion.
The Value Proposition of an SOA
We implement SOA for two major reasons. First is the ability to save development dollars through reuse of services. These services may have been built inside or outside of the company, and the more services that are reusable from system to system, the more ROI from our SOA. Second is the ability to change the IT infrastructure faster to adapt to changing needs of the business. This, of course, provides a huge strategic advantage and thus allows for the business to have better chances of survival long-term. While determining the ROI on agility is difficult to figure out in hard dollars, we know the value is there.
Reuse of Services
Under the concept of service reuse, we have a few things we need to determine to better define the value. These include:
The number of services that are reusable.
Complexity of the services.
The degree of reuse from system to system.
The number of reusable services is the actual number of new services created, or, existing services abstracted, that are potentially reusable from system to system. The complexity of the services is the number of functions or object points that make up the service. We use traditional functions or object points as a common means of expressing complexity in terms of the types of behaviors the service offers. Finally, the degree of reuse from system to system is the number of times you actually reuse the services. We look at this number as a percentage.
Just because we abstract existing systems as services, or create services from scratch, that does not mean that they have value until they are reused by another system. In order to determine their value we must first determine the Number of Services that are available for Reuse (NSR), the Degree of Reuse (DR) from system to system, as well as the Complexity (C)of each service, as described above. The formula to determine value looks much like this:
Value = (NSR*DR) * C
Thus, if you have 100 services available for reuse (NSR=100), and the degree of reuse at 50 percent (DR=.50), and complexity of each service is, on average, at 300 function points, the value would look like this:
Value = (100*.5) * 300
Value = 15,000, in terms of reuse.
If you apply the same formula across domains, with consistent measurements of NSR, DR, and C, the relative value should be the resulting metrics. In other words, the amount of reuse directly translates into dollars saved. Also, keep in mind that we have to subtract the cost of implementing the services, or, creating the SOA, since thatís the investment we made to obtain the value.
Moreover, the amount of money saved depends upon your development costs, which vary greatly from company to company. Typically, you should know what youíre paying for functions or object points, and thus itís just a matter of multiplication to determine the amount of money we are saving by implementing a particular SOA.
Agility is a strategic advantage that is difficult to measure in hard dollars, but not impossible. We first need to determine a few things about the business, including:
The degree of change over time.
The ability to adapt to change.
Relative value of change.
The degree of change over time is really the number of times over a particular period that the business reinvents itself to adapt to a market. Thus, why a paper production company may only have a degree of change of 5 percent over a 5 year period, a high technology company may have an 80 percent change over the same period.
The ability to adapt to change is a number that states the companyís ability to react to the need for change over time. The notion being that the use of an SOA provides a better ability to change IT to adjust to needed changes in the business.
Finally, the relative value of change is the amount of money made as a direct result of changing the business. For instance, a retail organizationís ability to establish a frequent buyer program to react to changing market expectations, and the resulting increases in revenue from making that change.
Determining an SOAís ROI is not an exact science, but with some analysis and some realistic data points, you can figure out how much value your SOA implementation has brought you, or will bring you. Again, we need to cost justify the use of this approach and technologies, and the information presented here should help you along the road to creating your own business case.
About the Author
David S. Linthicum (Dave) knows cloud computing and Service Oriented Architecture (SOA). He is an internationally recognized industry expert and thought leader, and the author and coauthor of 13 books on computing, including the best selling Enterprise Application Integration (Addison Wesley). Dave keynotes at many leading technology conferences on cloud computing, SOA, Web 2.0, and enterprise architecture, and has appeared on a number of TV and radio shows as a computing expert. He is a blogger for InfoWorld, Intelligent Enterprise, and eBizq.net, covering SOA and enterprise computing topics. Dave also has columns in Government Computer News, Cloud Computing Journal, SOA Journal, Align Journal, and is the editor of Virtualization Journal.
In his career, Dave has formed or enhanced many of the ideas behind modern distributed computing including Enterprise Application Integration, B2B Application Integration, and SOA, approaches and technologies in wide use today. For the last 10 years, Dave has focused on the technology and strategies around cloud computing, and how to make cloud computing work for the modern enterprise. This includes work with several cloud computing startups.
Daveís industry experience includes tenure as CTO and CEO of several successful software companies, and upper-level management positions in Fortune 100 companies. In addition, he was an associate professor of computer science for eight years, and continues to lecture at major technical colleges and universities including the University of Virginia, Arizona State University, and the University of Wisconsin.