Bick Group

David Linthicum

Subscribe to David Linthicum: eMailAlertsEmail Alerts
Get David Linthicum: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: SOA & WOA Magazine

Article

How Much Will Your SOA Cost?

Here's a sensible, no-nonsense approach to costing out SOA

I'm consulting now...at the project and strategy levels...and finding that a lot of real work needs to be done to get SOAs up and running. For most organizations, the first step of their SOA project is to figure out how much this SOA will cost. So you can budget appropriately and get the funding.

It's a good first step, but most organizations that want to build an SOA don't have a clue about how to approach the cost estimate. In many cases, they grossly underestimate the cost of their SOA, hoping their bosses and accountants won't notice later. In other words, go in low to get the approval, and reveal the higher costs later after it's too late...the investment has been made. Not a good management practice, if you ask me, but a pretty common one.

So, how do you calculate the cost of an SOA? While you can't cost out an SOA like a construction project, many of the same notions apply, including: Understand the domain, understand how much required resources cost, and understand how the work will get done. Moreover, understand what can go wrong and account for it.

Here are some very "general" guidelines:

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

  1. Number of data elements
  2. Complexity of data storage technology
  3. System complexity
  4. Service complexity
  5. Process complexity
  6. New services needed
  7. Enabling technology
  8. Applicable standards
  9. Potential risks
Typically it's expressed as:
Cost of SOA =
(Cost of Data Complexity + Cost of Service Complexity +
Cost of Process Complexity + Enabling Technology Solution)

For instance:
Cost of Data Complexity =
(((Number of Data Elements) * Complexity of the Data Storage Technology) * Labor Units))

  • The number of data elements being the number of semantics you're tracking in your domain, new or derived.
  • The complexity of the data storage technology, expressed as a percentage between 0 and 1 (0% to 100%). For instance, relational is a 0.3, object-oriented is a 0.6, and ISAM is a 0.8.
So at $100 a 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) * .8) * $100) or, the cost of data complexity = $150,000

Or, the amount of money needed to both 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; just reapply the same notions to:
Cost of Service Complexity, Cost of Process Complexity, Enabling Technology Solution

Some things to remember:

  1. This is not really metrics (e.g., 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%-20% variations in the cost for the simple reason that we haven't walked down this road before. As we move from project to project, we'll get better at costing out a SOA.
  3. Make sure you factor in at least two major mistakes like selecting the wrong vendor or hiring the wrong architect. You may encounter more, but it will almost never be less.
  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.
Finally, here's a sensible, no-nonsense approach to costing out SOA. While the actual numeric assumptions may be debatable, it's the approach that's refreshing. It would be great to see people start using this model, sharing any data points and providing feedback so it could be refined. Clearly, this would benefit the IT community a lot. I plan to develop a much more sophisticated model in the near future. If you're interested, let me know. I'll post it on my Web site.

More Stories By David Linthicum

Dave Linthicum is Sr. VP at Cloud Technology Partners, and an internationally known cloud computing and SOA expert. He is a sought-after consultant, speaker, and blogger. In his career, Dave has formed or enhanced many of the ideas behind modern distributed computing including EAI, B2B Application Integration, and SOA, approaches and technologies in wide use today. In addition, he is the Editor-in-Chief of SYS-CON's Virtualization Journal.

For the last 10 years, he has focused on the technology and strategies around cloud computing, including working with several cloud computing startups. His industry experience includes tenure as CTO and CEO of several successful software and cloud computing companies, and upper-level management positions in Fortune 500 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 University of Virginia and Arizona State University. He keynotes at many leading technology conferences, and has several well-read columns and blogs. Linthicum has authored 10 books, including the ground-breaking "Enterprise Application Integration" and "B2B Application Integration." You can reach him at david@bluemountainlabs.com. Or follow him on Twitter. Or view his profile on LinkedIn.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Maria Stanley 09/11/07 11:29:30 AM EDT

David,
I forwarded this paper to people who are looking at estimates for a large SOA migration project at DoD, done with COCOMO, and do not know if they can trust the huge numbers they see.
I was thanked, but the question was raised: what feedback Mr. Linthicum would have on using COCOMO for estimating SOA migration costs?
Does your approach fit with COCOMO in any way?
(This is not my expertise area to offer my own insight, unfortunately).
Thank you.