If you walked into a store and asked to have someone make you a suit and you agreed on a price of $100 and week’s sewing time, a week later you’d expect to walk back in and be trying on your new suit after parting with a $100 bill (at least in America).
What if you went into a different store, after that initial price quote and they offered to make it for $25? You’d think, “Great! One fourth the cost of that previous guy! I’ll take it instead.”
How would you feel if a week later you came back and they said it would be another week and $50 instead? Think you’d be mad?
How much madder would you be after TWO weeks, and now the shop owner is telling your it will be $75 and one more week, but this time he’d definitely get it done. And after you get it, you notice that the pocket is sewed on slightly funny and the trousers don’t fit quite the way you’d expect. Would you be steaming mad now?
Yeah, I would too.
This is exactly what happens with outsourcing projects in most software companies. If you ask companies why they do it, invariably they answer that outsourcing will save money AND time over local resources. That’s an unbelievably huge lie. It’s time to tear that apart.
Forgetting the cultural problems you’re going to encounter with outsourcing for a minute, let’s say you have a project scoped by an outsourcing firm. They bill their engineers to you at $25/hour. Local contractors run you $100/hour, so you’re thinking to yourself, “Wow, 75% cost savings! Sign this outsource guy up!”
Whoa, not so fast there, cowboy. Let’s throw out some project statistics from the Aberdeen Group. Unsurprisingly, reducing IT costs is the primary driver behind outsourcing for 82% of companies in the U.S. But, as Aberdeen continues,
- Nearly 50% of outsourced projects fail outright, or fail to meet expectations
- 76% of companies said that vendor management effort and costs were much higher than expected
- 30% reported ongoing issues with outsourcer management processes (e.g., inadequate governance and conflict resolution procedures)
- 51% reported that outsourcer was not performing to expectations
In the end, the average cost savings for projects was a mere 26%.
That might sound like a reasonable number, but consider that first point more closely: Nearly 50% of all outsourced projects fail outright or fail to meet expectations in the first place. Essentially, you’re taking the same gamble as red vs. black in Roulette about your project’s success right off the bat, and only then if you pass that hurdle, you’ll get on average, 25% savings over having it done locally.
So wait a second, where did my 75% cost savings disappear to? Let’s do the math:
Original project cost (outsourcer estimate): $10,000. (400 engineer-hours @ $25/hour)
Actual project costs: $30,000 (50% overrun on time and 100% overrun on people–longer than expected, 2x as many engineers as originally scoped, which is another finding of Aberdeen’s and other companies’ experience, so 1,200 engineer-hours @ $25/hour)
Unexpected onshore management costs: $6,000 (about 20% of project cost, from spending more time managing expectations, requirements, design reviews, documentation, etc)
Total actual project cost: ($30,000 + $6,000) = $36,000.
Estimated project cost, if done locally: $40,000 (400 hours @ $100/hour)
Expected cost savings: $30,000
Actual cost savings: $4,000 (($40,000-$36,000)/$36,000) = 11% (for the clients I’ve worked with)
These numbers have been vetted by two recent clients of mine (due to NDA restrictions, I can’t mention either by name but one is a large entertainment conglomerate based in NYC, the other is a worldwide financial clearinghouse firm). Both have substantial amounts of outsourced projects and both report little actual cost savings shown by front-line managers, huge management issues, and non-trivial project failure rates. And yet, both continue to outsource because upper management believes they’re saving a lot of money through outsourcing.
Think about this for a minute: If you have 4 projects you outsource (let’s assume they are all the same: 400 hours each, and we’re using an outsource firm at $25/hour), their estimated cost of $10,000 each, and their actual cost $36,000, here’s what you get: Your budget was for $160,000 and you believed you’d have $120,000 to spend on other projects (foolishly). Here’s the harsh reality:
- 2 of your 4 projects have high probability of completely failing (let’s assume that they didn’t expend the same cost above, but perhaps only half before they got canceled, so say you got halfway through each and canceled them, burning $36,000 total between them)
- Of the remaining two, you get what you asked for but at a cost of $72,000 instead of the promised $20,000.
- Total budget spent: $108,000. Expected budget spend: $40,000. (Difference: +270% over expected costs)
- Actual remaining budget for other costs: $52,000. Expected remaining budget: $120,000. (Difference: -43% less than expected available funds)
Assuming you budgeted all your expected remaining project cash on other things, congratulations, you’re now over budget! Welcome to every CTO and CIO’s nightmare. And none of this addresses the other problems: communication lags of several days to answer questions, lack of face-to-face interaction to solve problems quickly, miscommunication over simple requirements that you consider obvious but were missed in the implementation, and so on. Are you really saving money here?
Let’s call a spade a spade: Outsourcing just doesn’t save you the kind of money you think it will.
UPDATE: Thanks for all the comments about my crappy math. Yes, it’s fixed now.