Most Read Latest News Blog Resources

SOA Watch: Calculating the cost of SOA




October 1, 2008 — 

I get the same question over and over again: How much will my SOA cost?

There are so many things wrong with that question that I don’t even like to respond, because it’s the classic IT geek response: It depends. It depends on the number of services, if they exist; the cost of externalization; and the cost of the application development or processing/orchestration layers. Oh, yeah—we also need to understand your business and the core problems that exist there before we get started. The list goes on, and you can’t figure out the true cost of a SOA until you’ve figured out these things first.

Moreover, SOA is architecture and thus should transcend a single project, so it’s tough to narrow down the cost of a SOA to a single instance of incremental work. Perhaps the better question is: What will I probably spend for my instance, and how does that work into a larger strategic plan? Confusing, I know, but follow me here.

Truth be told, you can't cost out a SOA like a construction project; there are many dynamic elements to SOA that make an exact estimation, without much supporting data, difficult. Let’s face it, we’ve not done many of these at this point, thus the data is simply not there to support the metrics. However, here are some very “general" guidelines to follow:

The problem that I see over and over again is that cost estimates are provided without a clear understanding of the work needed to be done. Indeed, you need to budget some time to create the budget. This means understanding the domain in detail, including:

»
Number of data elements
»
Complexity of data storage technology
»
System complexity
»
Service complexity
»
Process complexity
»
New services needed
»
Enabling technology
»
Applicable standards
»
Potential risks

Typically, this formula is expressed as:

Cost of SOA = (Cost of Data Complexity + Cost of Service Complexity + Cost of Process Complexity +Cost of Enabling Technology Solution)

For instance, calculate the cost of data complexity as:

Cost of Data Complexity = (((Number of Data Elements) x Complexity of the Data Storage Technology) x Labor Units)

Where the number of data elements is the number of semantics you're tracking in your domain, new or derived, and the complexity of the data storage technology is expressed as a percentage between 0 and 1 (0% to 100%). For instance, relational technology would be 0.3, object-oriented technology 0.6 and ISAM 0.8.

So, at US$100 per labor unit, or the amount of money it takes to understand and refine one data element, we could have:

Cost of Data Complexity = (((3,000) x .8) x $100)

The calculated cost of complexity would be $240,000—the amount of money needed to understand and refine the data so it fits into your SOA (which is a small part of the overall project, by the way).

If you get this, you can get the rest of the cost analysis procedure; simply apply the same notions to the cost of service complexity, the cost of process complexity and the cost of the enabling technology solution.

Some things to remember:

1. These are not really metrics (function points), because we really don't have historical data to abstract here. In essence, you need to use your own project management and project costing methods; just apply them to this new approach, using the formulas I'm suggesting above.

2. Count on 10% to 20% variation in cost, for the simple reason that we've not walked down this road before. As we move from project to project, we'll get better at costing out SOA.

3. Make sure you dial in at least two major mistakes, such as selecting the wrong vendor or hiring the wrong architect. You may encounter more, but almost never fewer.

4. Make sure to change cost estimates as scope creep occurs (and it always does). The nice thing about using formulas such as the ones I’m expressing here is that, as change occurs, you can quickly see the effect on the budget. Moreover, as change occurs later in the SOA projects, the cost of change goes up exponentially.

I feel sorry for those who are tasked with coming up with cost estimates for a SOA project. I would put it into the experimentation category for the first few instances, so that overruns won’t get as much pushback from management.

Indeed, SOA needs to prove itself to the stakeholders—and they are very sensitive about the ROI aspect of the approach. You should consider the notion of ROI within your cost estimates: What is the potential return to the business to justify the costs?

But that’s a topic for another column.

Reach analyst David S. Linthicum at david@linthicumgroup.com.


Related Search Term(s): professional developmentSOA & SaaS


Share this link: http://www.sdtimes.com/link/32873
 

Add comment


Name*
Email*  
Country     


  • Comment
  • Preview
Loading



 
 
 
 
News on Monday
more>>
SharePoint Tech Report
more>>


   

 
 
Download Current Issue
ISSUE 3/15/2010 PDF

Need Back Issues?
DOWNLOAD HERE

Receive the print Edition?


 
blogs tab
Google Code turns 5
Google Code Turns 5, and adds a Paxos Algorithm to make the system more stable and reliable.
03/17/2010 11:16 AM EST

Test your Visual Studio 2010 know-how
Microsoft is offering free beta certification exams for Visual Studio 2010.
03/17/2010 11:08 AM EST

Microsoft lifts the hood on IE9
Microsoft is previewing IE9.
03/16/2010 01:10 PM EST

 

Events calendar tab
3/22/2010 to 3/25/2010
Santa Clara, Calif.
The Eclipse Foundation

4/12/2010 to 4/14/2010
Las Vegas
Penton Media

4/12/2010 to 4/15/2010
Santa Clara, Calif.
O'Reilly Media

4/19/2010
New York City
Flagg Management

4/25/2010 to 4/28/2010
Overland Park, Kans.
IIUG