Lessons of Failure

Humans + Software Development = Always Interesting

Jun/10

9

The Outsourcing Low Cost Lie

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.

Share this Nugget of Wisdom:
  • Digg
  • del.icio.us
  • DZone
  • HackerNews
  • Reddit
  • Slashdot
  • Suggest to Techmeme via Twitter
  • Technorati
  • Twitter
  • StumbleUpon

No related posts.

Your posts are like Potato Chips, I can't eat just one.
Tell me when you open another bag! (Subscribe via RSS).

I encourage comments and dissent, but abusive comments will be spammed out. Just act like a decent person to get treated like one. :)
RSS Feed

73 Comments for The Outsourcing Low Cost Lie

Andr | June 9, 2010 at 10:50 am

First search on google brings:
http://www.zdnet.com/blog/projectfailures/study-68-percent-of-it-projects-fail/1175

68% of all IT projects fail. 50% of all outsourced projects fail. Somehow the comparison seems in favour of outsourcing.

Adrian Scott | June 9, 2010 at 10:58 am

You may want to double-check your math in calculating this percentage: $4,000 (($40,000-$36,000)/$36,000) = 25%

hope this helps, nice post.

Daniel Lyons | June 9, 2010 at 10:59 am

Without being too pedantic or trying to undermine your point, which I think is valid, there’s an error in the reasoning behind your $4000/25% math. You’re comparing an _estimate_ of what it would have cost on-shore to what it _did_ cost off-shore. This is bad science.

Bad specs are bad specs. Estimating software development time is known to be very hard and very few firms do it well. This is part of the premise of _The Mythical Man Month_. I’d be surprised if the local costs matched the estimate much more closely.

I think your conclusion is sound because of the management nightmares but you can hardly blame the off-shore firm for making a bad estimate. Nobody makes good estimates in this industry.

Anon | June 9, 2010 at 11:07 am

A problem with your argument is that you’re assuming the locally developed project meets the original cost estimate. This is almost certainly not going to be the case.

You will also see similar cases of outright failures with local projects too.

John Stracke | June 9, 2010 at 11:14 am

(a) What’s the failure rate for non-outsourced projects?

(b) 4/36 is not 25%; it’s 11%.

Jonas | June 9, 2010 at 11:17 am

I agree. Managing your outsourced project is a lot harder than most people imagine. That, in my opinion, is one of the big reasons why outsourcing often fails. You really need great project technical project managers in your own organization to communicate with the outsourcing company, and even then it often fails.

Monkeyget | June 9, 2010 at 11:17 am

Cost overrun, schedule slippage or outright failure also occur frequently onshore. (e.g. http://www.it-cortex.com/Stat_Failure_Rate.htm ). Are outsourced product that worse than locally developed ones?

Eric | June 9, 2010 at 11:27 am

Great article. You should recheck your numbers on this line:
Actual cost savings: $4,000 (($40,000-$36,000)/$36,000) = 25%

4,000/36,000 is 11%

Jason Kotenko | June 9, 2010 at 11:37 am

I wonder Dave if you have any competing statistics on cost overruns for locally sourced projects? As far as I know, 100% of locally sourced projects do not complete successfully, on time, and on or under budget. Without the competing information, we can’t do much of a comparison.

Nevil Nayak | June 9, 2010 at 11:46 am

Your math is correct but your underlying assumptions are not; from personal experience, I can assure you that the on shore estimates you give are off by 50%. On top, on shore companies will demand ‘bonus’ for job ‘done right’ which they were suppose to any how. And don’t forget all those vultures who’re going to hawk at you for ‘business development’ and breech of contracts and licensing issues which the offshore guy has no interest in doing.

To get your off shore projects right, get the requirements down packed. Get all requirements materialized, diagrams drawn, before/after scenarios and all expectations met. Get a on-shore talent with off-shore experience who a has off-shore background – this is because Onshore guys can’t handle the heat offshore workshops give off. believe me.

Overall, there is great amount of success to be sough in offshore projects… yes the author is right in his own merit. Garbage in = Garbage out… so hire the right talent. and do your homework.

Karen | June 9, 2010 at 11:49 am

Even though you have used the term “outsourcing”, the figures seem to indicate you mean “offshoring”.

The math gets worse when the outsourcing is done at a much higher price under the guise of the workers being better, but in reality many outsourcing firms staff these projects with resources who have less experience that the client organization’s staff.

I’d also throw in that “lowest” bidder regulations often lead to the same results. I have seen projects where the lowest bidder wins with a bid of $30,000 and three months, but the actual cost is $1.3 million and 3 years. As one outsourcing vendor complained to me “but I low-balled the bid just to get the work. I can’t deliver the results unless I get ten times what I bid”.

Author comment by Dave | June 9, 2010 at 12:25 pm

Finding hard data on this stuff is quite difficult as it turns out. I contacted Dan Galoraith of the SEER Group for something and he couldn’t separate the outsource from local data. Other places, like Aberdeen, didn’t publish their sources. My own research turned up little info in published data, but I did have access to several companies actual financial data for their projects, and that’s the best I could come up with.

I do agree with others that local projects may have cost overruns and failures based on bad estimates, but with a local firm, you remove some immediate and significant disadvantages, like the communication barrier, having face-to-face design sessions, sometimes significant on-site work, etc. Offshore teams are getting smarter and putting folks “local” to do the work.

@Monkeyget: They do, and your point is valid. Finding the right data to show actual diffs like I mentioned above is hard. My experience and hard data thus far is that there is a significant difference. YMMV.

@Anon/@Daniel: The comparison is as valid as I can make it. No one ever co-develops the same project on and off shore to compare the results, although that clearly would be the ideal test case. My point is that there is a perceived difference in costs up front and that decision drives a poor end result.

Author comment by Dave | June 9, 2010 at 12:26 pm

Yes, there is a distinction between them and I get sloppy but you’re right, I generally mean “offshoring” because that’s where the cost savings come from.

JP | June 9, 2010 at 12:29 pm

This is more of a problem with traditional waterfall development, and the challenges faced with today’s “Must have this new feature NOW” mentality.

I often try to explain to fellow developers who get frustrated with the constant requests for changes and process validations mostly likely done by these developers. It never seems to amaze me how often putting a business practice into a logical process seems to render the process incomplete and in need of changes.

The industry shift to agile development has help developers and analysts work through most of the problems revolving around deliverable, but try incorporating an agile process where deliverables change constantly, and the efforts of managing timelines and expectations explode leaving the company with an all or nothing decision.

BillAtHRST | June 9, 2010 at 1:01 pm

Reminds me of an old joke:

Man finds a two-year-old claim ticket from shoe repairman, goes into store, hands the ticket to cobbler:

“They’ll be ready Thursday”.

KB | June 9, 2010 at 1:05 pm

Nice article. One thing I’d like to point out, though, is the lack of same detail while estimating cost for getting it done locally. You simply say 400 x 100 = $40000. How about overruns and other issues applied to local workforce. I’m sure there’s a component to the cost here that’s missing. To be fair, you’d have to apply estimates for project cost overrun etc to the local employee as well.

Author comment by Dave | June 9, 2010 at 1:07 pm

You’re 100% correct. But how much overrun to put? Management costs? Do we lump all local firms together (small freelancers vs. The Big Boys)? I agree that the comparison isn’t what you’d like to see, but creating the actual scenario is hard. I took my scenario for offshoring from the Aberdeen numbers and correlated them to my two major clients that already offshore. They agreed within one sigma of error.

KB | June 9, 2010 at 1:22 pm

Understood. I’d like to clarify my viewpoint a little: I’m with you on the fallacies of savings associated with outsourcing. Even if you did somehow add in estimates for overruns with locally hired employees, I still think you’d find that the savings are not high enough to justify. One non-quantifiable factor is the quality of the final finished product – I believe that in most cases, the outsourced projects suffers from lower quality of software. I’ve wondered many times in the past about how these massive outsourcing projects even get off the ground; your failure numbers confirmed my suspicions.

Fenris | June 9, 2010 at 1:50 pm

If you are comparing total cost of development offshore ($36.000) with just eng-hours locally ($40.000) you are doing it wrong. Locally developed projects are going to have some managements cost also maybe not the $6.000 that you talk about, but some cost is going to be charged to the project.

Tim in Colorado | June 9, 2010 at 1:52 pm

While my gut wants to agree with your premise, you’ve really only told half of the story.

I have to agree with Jason and Andr: These numbers aren’t interesting unless you compare apples-to-apples. For example, what’s the typical cost overrun for local development? What’s the typical failure rate?

And are we comparing outsourcing with internal development, and if so, what class of companies are we looking at? I’d actually argue that companies that are predominantly NOT tech-savvy would have an even harder time hiring and managing a major software project internally. Not that I think outsourcing it to a company on the other side of the planet with a very different culture would be a good idea, of course. But outsourcing to a local developer who has relevant experience (and good references!) probably raises your chance of success by a lot.

If the statistics Andr presents (68% of all projects fail) are comparable, then I agree with him/her that a 50% failure rate is actually good–or at least not terrible, compared to other ways of developing a project. Presenting statistics of only one side of an issue without a something to give it context doesn’t really help.

Andrew | June 9, 2010 at 1:57 pm

I wonder if the companies you mentioned keep outsourcing due to the kickbacks upper management is getting from the outsourcing companies?

kedz | June 9, 2010 at 2:11 pm

Offshoring is not $25/hr.. in China and India, its down to $8-10/hr..

Author comment by Dave | June 9, 2010 at 2:12 pm

Depends on the work involved. Development rates in China, India, and other Pan-Asian countries is averaging $25 for larger companies right now. One of my two clients was paying $30 through a large firm for “senior developers”, although I wouldn’t call them that.

Brian P | June 9, 2010 at 2:17 pm

Well what I noticed when I outsource my projects you cannot outsource the whole thing. You have to outsource very easy but tedious and time consuming tasks to your outsourcing partners in good instructions. That is where you save from outsourcers and I have many times. If you just give them a task and do not have knowledge and relying on their knowledge you are setup for failure!

Matt B | June 9, 2010 at 3:29 pm

Boss says how many guys do you need to get this done. I say 3, he says ok, I’ll get 15 Indians. Still failed.

Jason | June 9, 2010 at 3:53 pm

Been thru at least a half dozen outsourcings in the last 8 years…so I know the short term AND the long term results. Operational tasks, sure…as much as I hate to eliminate US jobs, those positions are easier to outsource. Outsourcing software development is insane unless you already have an ARMY of technical writers, business analysts, project managers, contract negotiators and SLA managers. This is even true if outsourcing to somebody like IBM. But with offshore, particularly India, it should be a requirement before even saying the words out loud. I have seen MILLIONS of dollars wasted on Indian outsourcing projects. No joke, no exaggeration. Not to mention the costs of valuable, talented people who quit to get away from the enormous headaches. Some people say you “get what you pay for”. That’s crap. We have paid thru the nose and gotten little for it except substandard software, midnight conference calls, finger pointing when things go wrong, and elitest attitudes.

Scott | June 9, 2010 at 4:16 pm

Actual cost savings: $4,000 (($40,000-$36,000)/$36,000) = 11% (for the clients I’ve worked with)

No. Interesting that no one caught the big math error, just the little one.

If you shop for an ebook, find it on amazon for $10 and itunes for $1, buying it from itunes saves you 90%, not 900%; divide by the big number, not the smaller one, hey?

JB | June 9, 2010 at 4:27 pm

My own experience reflects your findings, experience of all sorts of projects (from Ireland) over 20 years.

Outsourcing to India/Philippines: A disaster. High failure rate. Projects delivered were invariable late and over budget. Code quality was poor, applications invariably disappointed customers, documentation was crap. Do not even think of letting them do the design/architecture.

Outsourcing to Australia/NZ: Quality was much better. Communications was very difficult due to time difference. Quality reasonable, probably best experience after local development.

Outsourcing to Poland: Some communications problems. Quality not bad. Cheap enough to bring developers here or to visit there.

Outsourcing to other east European countries: Not as good as Poland, better than India/Philippines.

Outsourcing to UK: Poorer than you would expect. I’ve always been surprised at poor code quality/engineering from UK. Expensive without much return.

Local outsourcing: Better than UK, similar quality to Aus/NZ/US. Easier communications obviously.

US outsourcing: Surprisingly poor, on a par with UK.

Most of the projects I’ve worked on have been successful (in that something was delivered and put into operation). I can only think of 1 technical failures out of maybe 35/40, UK based. The UK based failure was due to ineptitude of developers, 9 months late on a 3 month project, deliverable nwas never satisfactory. Project was replaced with inhouse development which took about a month.

Secrets to success:

1) Face to face communications on a regular basis.

2) Some level of competence and initiative from the developers. You shouldn’t have to specify every little thing.

3) Plenty of milestones, less meetings.

4) Knock the ‘change request’ syndrome on the head early on and , conversely, avoid feature creep on your end. IBM will wear you down with ‘change request’itis if you let them.

5) Reduce the layers of management, let engineers/developers talk to each other. Keep PMs to a minimum.

6) Kick ass on all sides when things slip.

Greg | June 9, 2010 at 4:37 pm

My experience managing several projects involving outsourcing is the same as yours. Outsourcing overseas never produced what we thought it would, took a lot longer and cost way more than it should have. Most of the code did not meet requirements (or basic best practices) and had to be thrown away. Why did it always seem like a different programmer over there worked on each bug or minor request? Because that’s what happened behind the scenes and the result was crap code! I would go further to say that if you have competent local consultants, you do better in the long run because they produce a better result in a shorter amount of time!

Jason | June 9, 2010 at 4:49 pm

I was recently employed by a firm that provided outsourcing services to automotive parts manufacturers. In that very limited and small industry, your conclusions are quite true. But it doesn’t have to be that way! I was in a dirty industry full of really unsophisticated people, many who had no idea what they were doing. If you want the job done right, hire the right people! Investigate who you’re hiring! Pay your internal people to properly communicate your needs and expectations to the outsourcers! The single biggest reason for a project “failure” was miscommunication. Half the time my customers had no idea what the hell they wanted. Often they would authorize an “open” P.O. knowing rates and personnel requirements full well, and neglect to mention a budget. Managers that can’t properly communicate their needs will often fail with outsourcing companies. Employees (good ones, at least) are more easily able to make up the slack left by a poorly communicating manager.

Just because B happens after A doesn’t mean A caused B. Outsourcing project failure doesn’t mean outsourcing is a lie, or isn’t a viable savings measure in some situations.

gwenhwyfaer | June 9, 2010 at 7:27 pm

If you’re talking about a cost saving, you need to be expressing it relative to the price before the saving. So a $4000 saving on $40000 is a 10% saving, although a $4000 increase on $36,000 would be an 11% overspend.

On the other hand – a 10% saving isn’t trivial, if the cost is high enough. Over the entire development spend in a large company, management would probably look extremely favourably at a 10% shrinkage in budget – and if shareholders ever got wind of the fact that they could have shaved 10% off an unproductive budget, but didn’t, then lawsuits ahoy!

Jeff Jensen | June 9, 2010 at 7:46 pm

…and those costs don’t cover quality of architecture & design (hitting expandability/maintainability) and defect rate. Include those, and the local approach is far cheaper.

William Nett | June 9, 2010 at 8:53 pm

No kidding! Lets talk about lost taxes! The US Government thanks to outsourcing has lost more than $3,000,000,000.00 a year in taxes due to outsourcing. I calculated this out before and the numbers were disgusting. Lost internal revenue exceeded $17,000,000.00 for US establishments. My numbers were for 2008.

Paul S | June 9, 2010 at 9:31 pm

I just went and read your linked article on the Power Distance Index (PDI) which has comments disabled.

This is very interesting because being a British Ex-pat in China, managing an Outsourcing company I find most of the content of that article to be true.

In my company I work hard to increase communication and open and honest feedback from team members. People know they can can me anything. We only use native English speakers to talk to our overseas customers. We ensure that every team member is responsible for success in their 2-weekly goals and motivate them with significant benefits.

Our company culture has a very unique feel.

We have found that the combination of a company staffed by western and Chinese staff proved very effective and valuable to our customers.

Tom Damon | June 9, 2010 at 9:36 pm

I’ve used outsourced development, and found that it leads to bloated, crappy code. In their haste to make a deadline, foreign sweatshops push quantity over quality, just throwing things in to see if it will work. Maybe I’ve dealt with the wrong companies, but I’ve only used one overseas developer who I will continue to use.

Selwin | June 9, 2010 at 9:41 pm

Oracle, Microsoft and IBM and many other big companies have a huge chunk of their work outsourced.

There are lot of quality people in other developing countries too. On par or exceeding quality expectation of those in developed countries.

Companies that were adamant, NOT to outsource, have failed because they were NOT able to manage raising costs.

There are lot of bad quality too in outsourced markets. You should be efficient enough to manage this. Efficient managers do NOT complain like this and be REGIONAL. Human mind is powerful instrument, do not try to REGIONALISE it.

First the author’s attitude is wrong. If you try to find fault, sitting in a managerial job (without knowing the underlying technology), you will get lot of points.

thanks,
Selwin

Ole Ronberg | June 9, 2010 at 10:46 pm

Interesting post. Reckless outsourcing is definitely dangerous. There are many not too serious players on the provider side (obviously you cant hire a really skilled programmer anywhere in the world for 5-8 USD per hour), and there are many customers who are so focused on cutting cost that they forget to adhere to even the most basic rules of project management, change management, etc.

Tom | June 9, 2010 at 11:11 pm

I agree with this 100%.

When I was working at a large telco (no not AT&T the other one), we outsourced a large project to India to save money. HR and upper management was forcing it. Not only was it late and over budget, it was so riddled with errors it had to be trashed and started from scratch.

I see this 9 times out of 10. What a waste. You get what you pay for.

Secondly, I see the same hype with cloud computing. I did the math and in some circumstances it has benefits and it is cheaper, but if you try and put your whole private cloud in the public cloud, you will screw yourself. It’s just too expensive for a big thing yet everyone thinks that is what it is coming too. I guess we shall see.

Tom | June 9, 2010 at 11:38 pm

Gwen,

That is a 10% savings on the projects that complete. If you factor in the projects that fail you are losing your azz, so lawsuits a hoy! Investors should sue these companies for being inefficient by outsourcing and not having any accountability (BP anyone?)

Yes BP outsource the oil drilling operation and it is now going to cost them BILLIONS.

Mani | June 10, 2010 at 12:17 am

Development costs and quality are interlinked, you do the proper homework to identify the consultant who can deliver good quality and then check the prices, you may need to cough up the same(anywhere in world) that you pay for good resources at home. Some countries have some infrastructure cost savings at best. No need for any math here!
As some one pointed out here, communication and consistent followups are key to executing a quality assignment anywhere(next cubicle, across coasts or across ocean).

Blonko!» Blog Archive » Offshore costs – kort door de bocht | June 10, 2010 at 1:08 am

[...] the “Outsourcing cost” lie [...]

Warfi | June 10, 2010 at 1:36 am

BTW more than 90% of the projects fail due to non-technical reasons. Many outsourced projects are managed from on-shore. So the offshore model itself is really good and evolved & evolving with the passage of time. Some of your observations are good, and nice stats you had shared.

Morten K | June 10, 2010 at 4:14 am

As other posters have mentioned, the failure rate for software development projects in general is very high. The statistic of around 70% is quite common.

Developers at 100 USD pr. Hour is not neccessarily better than the ones for 15. Yes, the guys at 5 to 15 is usually useless. But from 15 to 25, you can find developers who surpass the skill of 100 USD developers from the UK, Europe or US. The wage is not an indicator of skill level.

This is why when projects conducted at such rates fail (and that’s often), the costs get extreme. While the project outsourced offshore also fails often, the costs gets less crazy, due to the lower rates.

I think the main problem with offshore outsourcing software development is that people expect you send off a specification and hold a status meeting once a week, and you’ll get back a perfect product. And this simply does not work, even if the developers are in the office next to yours.

Any software development is hard, and because it’s outsourced offshore, does not make it any easier. People outsourcing should be competent, and be ready to invest a lot of management into any projects.

It is however very possible to find fantastic developers all across the world, and get successful projects. You just have to avoid the sweatshops which are everywhere in countries like China, India, Pakistan and similar.

Igor Brejc | June 10, 2010 at 5:56 am

Although I agree outsourcing is not a panacea, I think your post contains too many incorrect claims to be valid. Starting from your use of the term “outsourcing”: anything done outside of one’s own company is outsourcing (including I guess your own work for your clients). So in other words you are raising the issue of “me/us” against “them” (any non-US company).

As for doing the project locally within the company, I think experience shows internal SW development teams are often not much better than the ones you can hire outside for less money. But probably not for 75% less.

Igor | June 10, 2010 at 6:26 am

Hi Dave,

I’m working in the small outsourcing company in Ukraine as software developer. We are working mostly with clients from US and Europe. I think it will be interesting to provide you and your readers with some facts from the other side:

* Really big amount of projects we got were failed before they were started. The whole idea behind this projects was bad. (Mostly popular sites clones etc.) Sure we will not tell to the customer – “Hey John your idea is crap and we recommend you to by a yacht instead of wasting money and time to your uber-new Facebook clone” – We even will not tell him such things not because we want his money but because “John” will not listen to us and will just find another provider and will do it anyway. I cannot remember any really successful unique project that was done by outsourcing company. So I think your “50% failed” metric is inaccurate because it largely depends on the initial project “idea” quality and customer will to complete it.
* Many customers, mostly under an influence of the relatively cheap prices, are not strictly follow initial project plan. They add new items, change their minds on completed items – just because they know that its cheap to redo it. This usually leads to violation of initial time and cost estimates. This situation could be compared to visiting really expensive and exclusive french restaurant in alps and you local fast food restraunt. In fastfood you know that you have more money than their all menu items cost together – you can order one meal try it and then order another and you will finish your night ate up and not satisfied. The other side is expensive restaurant – you know that you have limited budget and you will really carefully choose what do you want (maybe even before visiting it), you’ll ask your friends to get recommendations – and if you will not like some small piece of your meal – you will not say – “Hey, I think I’ve screwed up with ordering this meal with this sauce lets redo it with another from the beginning, I’ll pay” because you don’t have such amount of money. So its really important to have right approach to outsourcing development and to not have any illusions that it will be cheap and you can change something anytime even with loosing “a little” money.
* Lack of communication from customer’s side. Some clients think that if they will outsource project development to guys from the other side of the planet – they will only wait until it will be completed.

And one last thing: If you’ve made decision to outsource your project – do not let management take care of it on the initial stages. Find a technical specialist who will analyze code quality on the early stages to avoid problems later. Several times I saw projects that were started mostly by companies from India/China and this was total disaster. I think that it is correct to say that customers were scammed by this companies. Usually such projects could be easily determined when potential customer say that 80% of project was done by some outsourcing company and we have only 20% remaining to complete the project – usually this should be read as – something was done by another company but we don’t know what was done because we cannot even launch the project and have not seen any staging or demo.

Thanks!

The Outsourcing Low Cost Lie | Lessons of Failure | The Nightly Build | June 10, 2010 at 7:14 am

[...] The Outsourcing Low Cost Lie | Lessons of Failure. [...]

KK | June 10, 2010 at 7:58 am

Imagine you go to a local tailor, and order a suit. He quotes $100 and asks for a week for delivery. Of course the outsourced tailor cost 75 dollars and the pocket will be funny. So you decide to go with the local tailor.

The sad story is, after 1 week, when you go to the local tailor, he would say, I need health care, 5 weeks holidays, I can’t work on Mondays, Wednesdays and Fridays, I need a sewing machine with youtube.com on it to complete my work.

Would you be mad? That is what happened to me. Outsourced vendors finished a decent product in reasonable time. Local vendors only promise a glamorous product at a hefty price and do not complete in any reasonable period of time.

raghava | June 10, 2010 at 8:01 am

As pointed in few comments, here it’s offshoring that is considered not so effective.

Agreed, there is no such boastful real gain but one also has to take into account the kind of work involved or the clients, as they are prime factors in the equation. Say, it is some small budget pharma company or a transport company trying to get their data migrated across a platform (or some such project that does not require geniuses to be involved). Local firms would not get these projects (for their margins would be too less or that their quotations would be too high for the clients); and for that expected cost, offshoring would be the only possible option for those clients. And at $10/15 an hour in an offshoring major, someone would be happily filling up data into spread sheets and drawing colourful charts out of it, and possibly write some non-mission-critical code too (all the while proud of being called a Software Engineer, who earns a decent salary by the standards there, all thanks to convenient exchange rate).

Maybe we can also check the kind of projects that were offshored, when considering the data involved. There cannot be a clear black-white distinction at all, that one could categorize all cases into.

Amy | June 10, 2010 at 8:10 am

“These numbers have been vetted by two recent clients of mine….  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.”

The more I think about it, the more I feel that this is the most intriguing part of the article.

Why does upper management believe they’re saving lots of money if they’re not? How does that happen, and how can front-line managers make them understand that they aren’t saving money?

Is there a lack of communication? Don’t upper management look at their numbers? Do their numbers get reported in such a way that the costs hide, and if so, will the costs show up eventually? Or, does upper management understand that they may be saving only a little bit of money, but think it’s worth it?

bhupal | June 10, 2010 at 8:33 am

nice analysis. though, you go to tailor because you can’t sew it for yourself, but when you hire a outsource, most of the time, a development team somewhere (okay say it your place), hires another development team somewhere else, does that has to be like one way tailoring? i don’t think so. i agree with @Nevil hire the right talent and do your homework too.

Author comment by Dave | June 10, 2010 at 9:14 am

Hi Amy,

To answer your question, I’ll give you my version of both companies’ justification. One (the entertainment conglomerate) had an edict from their parent corporation that 80% of all IT services had to be offshored. That included development, and it was part of some analysis done by a large, expensive consulting firm several years back. I think it was a case of “if we admit this was wrong, then we really screwed up a few years ago spending so much money on that damn report!”

The second is more nebulous. I think there was pressure to cut expenses, IT’s budget was always a cost-center, but never a revenue producer and thus during the financial crisis, they were squeezed hardest. The managers weren’t willing to stick their necks out for anything and went with a “safe” perceived solution.

In both cases, they’re paying dearly for it. I think within 2-3 years, they’ll both recant to some degree.

Rasilio | June 10, 2010 at 3:11 pm

Amy the answer to your question is easy.

You can’t prove what didn’t happen.

That is reports to executives get progressively filtered as they move up the chain of command such that a 4 paragraph detailed explaination of project costs gets boiled down to a single bullet point stating offshoring reduced labor costs by 60 or some such. The detail that shows that said savings were on a per hour basis but that reasonable estimates show that the project took 150% of the hours that it should have get filtered out.

Further it is in the executives best interest to report only those things which make him good. Long term survival and profitability of the company mean next to nothing since the average tenure for senior management positions is a mere 3 – 5 years. This gives them incentive to worry more about the here and now and not so much about the future because by the time their screwups are realized (if they ever are) they will be long gone.

Another fun one is it becomes REALLY easy to blame the failure of the offshore effort on your local management and oversite teams. I mean after all so many other companies report such wonderful success (see the preceeding 2 paragraphs for how they do so) and cost savings by doing it and there are all these industry white papers about the wonders of offshoring (produced by or for the same consulting companies you’re hiring none the less).

In the end outsourcing and offshoring “succeed” because there is no incentive for the executives to admit failure and it is an easy ‘win’ to post on their resume.

Rasilio | June 10, 2010 at 3:20 pm

Hmm, I attempted to post a much longer comment to this yesterday and apparently the internet ate it.

Anyway, the most important point was that people are misstating the costs of local development.

They are comparing $25 per hour for offshore to $100 per hour for onshore. That works well if you are looking at contract or consulting work but more typically the question is whether to do the work offshore or inhouse, not whether to hire an offshore or onshore partner.

The costs of an internal employee are nowhere near $100 per hour. In raw salary a mid range developer will earn somewhere between $65,000 and $90,000 depending on location and other factors. That works out to somewhere between $31.25 and $43.25 per hour. On top of that you have to cover benefits, taxes, and other overhead costs which depending on where you are in the country and how generous your benefits are typically average between 35% and 75% of the employees salary which produces an actual cost of employment somewhere betwen $42.25 and $75.75 per hour with a midrange cost of just about $60 per hour.

The extra overhead and cost of managing an offshore engagement looks a lot worse when comparing $25 per to $60 per labor costs than when comparing it to $100 per hour, especially when managing an offshore project typically means an extra 2 – 5 people onshore just to handle that management who would not be needed if you didn’t bother with the offshoring.

Author comment by Dave | June 10, 2010 at 3:27 pm

Thanks for your thoughts Rasilio. One counter-point is that both of the companies I did work for based their internal project cost calculations on $100/hour for internal folks. Their salaries were higher than your quoted $65K-$90K range and these companies are both located in higher cost areas (East/West Coast). So my figures still stand…

Mark from NYC | June 10, 2010 at 5:09 pm

It’s very difficult to estimate how much a software project will cost or to measure productivity in general in IT. A lot of the numbers are complete bull. What there used to be in IT was a substantial number of people with great instinctive skills. Instinctively, these such people would know whether a development effort was productive or not, or whether individual programmer analysts were productive all not. A lot of that has been lost. I don’t care what numbers get thrown out. Instinctively, I know that off-shoring and use of H1B Visa people and the like has destroyed productivity in IT in the U.S. It used to be that many in the user/client community had close and symbiotic relationships with the programmer analysts who designed, maintained and enhanced their systems. Not any more. Now there is layer upon layer of middle men/women who they must go through to communicate anything. Many just give up trying. What is the cost of this? There is no metric that I am aware of that measures this, but intuitively and instinctively, I know the cost is massive.

Saad Ahmed | June 11, 2010 at 12:50 am

Nice article. Well,a as always this debate does not end here. There are lot of pros and cons of outsourcing. The companies, who do outsourcing have their own perspective.

IgorR | June 11, 2010 at 7:52 am

Well, I think the upper management guys know very well the real cost or savings when outsorcing. What it really (in my experience) comes down to is accounting. A company has basically two types of expenses: operating expense (OPEX) and capital expense (CAPEX). If a company has many salaried engineers that do internal projects it will have large OPEX. On the other hand, outsorcing work to other companies can be shown as capital expenses (investing in the companies future). Owners of companies complain much less on annual meetings if they see a balance sheet with large CAPEX and small OPEX. So, simply put, it makes their lives easier :)

Paul Young | June 11, 2010 at 12:48 pm

What about the idea of not literally outsourcing, but simply hiring an additional member for your developer team who just happens to work completely from his home?

This person can life right in front of your office, at the other side of town or at the other side of the world. Personally I’ve seen at lot of value in letting developers work from their home. Next to that, open source teams typically also work distributed. Take JBoss, one developer works from Greece, the other works from the US. It’s not really outsourcing in the sense that you give some other company a complete product specification and expect a finished product, but a traditional company might call it outsourcing because the developer in question lives in say China or Russia.

What do you think about that?

Author comment by Dave | June 11, 2010 at 12:59 pm

Well, on a personal level, I love the idea. I already live it, so I might just be a tad biased. Larger companies have mixed feelings about this model. There seems to be the inherent distrust of folks “working from home” because they’re always concerned people are goofing off. Seems to me that if you review someone’s work regularly, that concern should disappear quickly, or you fire the people not pulling their weight…

Rasilio | June 13, 2010 at 3:55 pm

I’m aware that most companies use $100 per hour as an internal cost calculation, what I was stating was that there was no basis for using that number.

I suppose that it is possible that there are some companies in Silicon Valley, NYC, Boston, and DC/No Va whose cost really approaches $100 per hour for an internal mid level developer but there would not be many.

That would require paying a developer with a degree and 3 – 8 years experience (this is what I refer to as a mid level developer, the guys who make up the backbone of the dev team) in excess of $100K per year and then offering benefits that match that salary. There may be som employers who do that, but they are by far the exception.

The point I was making not that YOUR numbers were wrong, but rather that the companies numbers were wrong.

JSM | June 14, 2010 at 5:13 am

Outsourcing cost less regardless of project’s success or failure. Either way IT saves money by outsourcing, its simple as that.

Episode 8 - All about Web Sockets | The Basement Coders | June 14, 2010 at 8:35 am

[...] We grabbed two of the DZone Big Links of the day which caught our eye. The topics were “The Outsourcing Low Cost Lie” and how the popular free text editor Notepad++ is leaving Source Forge over its policies [...]

Frank | June 14, 2010 at 6:39 pm

I work for a F10 multinational corporation to which companies do outsourcing. Briefly, when we take over sourcing of IT, many of the company’s personnel come over in the deal, but just long enough to train existing resources to handle the work. Almost all are dumped by my company within 18 months.

Once the account reaches steady state, my company offshores the work to contractors and employees in India, Brazil, Argentina or China, most of which have little experience, few formal qualifications, little maturity and get varying degrees of training as part of the process. The US employees on the account then are expendable and are dumped.

So, you now have an account attempting to run with ill-trained, under-skilled and immature contractors and employees, with no experts and mentors. Now, I’m certain there are some very skilled people in these countries, but my company isn’t hiring them. We’re hiring cheap.

My company promises that these offshore skills will be equivalent to US skills, knowing this isn’t remotely true. Can we say fraud?

It doesn’t take long before serious problems result and the clients start barking at my company and in some cases threaten to pull out of the contract due to failure to perform. But my company has deliberately burnt the client’s bridge back to insourcing by laying off the client’s former employees who are now scattered to the winds.

From my company’s view, as long as the performance penalties are less than the cost savings of using cheap global resources, they’re OK with the customer problems. So much for quality.

Only when the client is ready to walk away will my company bring in experienced US, west European professionals to help. But most of these professionals are now gone and those that remain are heavily overworked, so there often isn’t anyone available to recover the account.

In the past 18 months, my company has announced they are opening three new centers in the US. These are intended to service accounts which have grown weary of poor quality offshore support.

But once again, just like in Brazil, Argentina, China and India, the company is hiring cheap inexperienced, minimally skilled people for these jobs and are providing minimal training, so expect the same failure and quality issues to occur at these US-based centers.

Last, I’ve talked as if Brazil, Argentina, China and India are equivalent. I don’t think that is true – the Brazilians and Argentinians were awful to start, but seem to be getting better with time and experience. Key to managing this is to minimize turnover – which means treat them with respect and pay them fairly.

India though, is absymal. The incredibly high turnover, the relatively poor schooling, the lack of personal responsibility and the lack of integrity all add up to a miserable quality, poor productivity and inability to deliver on time – in short, a poor value.

Focus on value – what you get, for what you pay. It’s far more important than cost alone.

MarutanRay | June 22, 2010 at 12:28 am

I agree with the general content of the argument. I am not in a position to comment on the actual costs of outsourcing / off-shoring.
But i would like to add that in the 80s when off-shoring started, there was an abundance of talent in India. You could hire Ivy League equivalent university graduates for less than 10% (approx 5%) of the pay that a corresponding US person. Over the last 20 years wages in India have increased tremendously, about 10-15% compounded per year increase. In the past when comparisons of offshoring were done they were comparing the top cream of indian employees to the average of the US – obviously there was a noticeable difference. This has led to the perception that off-shore talent is good / better – which was valid a decade back but hasnt been tested over time for validity recently.
Today, I suspect that the pay of a graduate of a top school in india is about 50-75% of a similar person in the US. Outsourcing / off-shoring companies are not able to hire the top employees because they cant pay these people and make their margins. I am using university graduates as an index because data are more readily available and easier to compare.
Finally i would argue that if i were a manager i wouldnt offshore to India. My reasons, western europe is going through a tough reform process. Labour reforms in europe, resulting from the debt crisis, will lead to productivity improvements. UK for e.g. is talking of freezing public sector pay. Germany is laying off 15,000 federal government employees. But at the same time wages in China are increasing – recent stories of Honda, Foxconn, where employees got 30% or mare pay increases. A mercer report (if i remember correctly) pointed out that salaries in india rose by 10-15% in india in 2009 – the same year when we saw massive lay offs and wage decline in the west. People laid off in the west will, in my opinion, reduce their asking wage, offer themselves at a lower pay over time as a result of the situation. Productivity increase in the west and productivity decrease in the east is the result. Hence i wouldnt offshore now.

MarutanRay | June 22, 2010 at 1:01 am

one more point, most of the reports on outsourcing are written by companies that are involved in outsourcing, i.e. they have an economic benefit in increased outsourcing, not by companies that are outsourcing. there is an incentive for the people writing these reports to skew the data so that they can make outsourcing look like it is a big cost saver. hence a large part of the content written on this topic is biased.

Frank | July 14, 2010 at 8:11 am

I have not read all the comments above so my apologies if this comment is redundant. I work at a company that outsources most of its work to Indian firms and I’ve often wondered about the impact of such practice on the bottom line. What I don’t hear too much about is the impact outsourcing has on the economy of a town, city, region, etc. Even if we assume that outsourcing benefits the company, however great or slight such benefit may be, the fact is wages are being earned and spent outside the U.S. From an economic point of view, outsourcing tends to depress wages at best, and eliminate jobs at worst. Either way, the purchasing power of the American consumer decreases. When this happens people buy less, vacation less, save less, and on and on. In the final analysis, the market for the goods and services that now come from abroad becomes smaller and the very companies that believed outsourcing was good for business end up hurting themselves.

AnAmericanWhoWentToIndia | July 19, 2010 at 7:42 am

On a side note…look what offshoring does to the USA

Back when H1-Bs were popular to bring technical folk here, those people stayed in the USA, rented apartments in the USA, bought cars in the USA, bought groceries in the USA, were good, law abiding smart folk that would stay in the USA.

Offshoring – allllllll that money sent overseas stays there. And it’s noticeable. That’s why China and India are building 6 story malls, new dams, there’s a chinese equivalaent for wal-mart, heck they’re even building new cities in the middle of nowhere to accomodate the boom and need 10 years from now.

So instead of keeping that money in the USA – and benefiting everyone – it’s just sent away to no one’s local benefit but to where you sent the $$$. Trickle-down effect.

Can you imagine if we kept H1-Bs and never outsourced? Maybe we wouldn’t have this real estate fiasco so hard, because there would be more people here to buy the 20 year supply of condos in Las Vegas?

Parag | August 10, 2010 at 5:40 am

Your logic is flawed. You seem to think that if someone bill $100/hour, it will be flawless ?? Don’t equate rates with quality. 50% of projects fail regardless of whether outsourced or not. Though I agree the rate goes higher if outsourced.

Still your equation is based on rates. If someone works at $30/hour from his own country doesn’t make him inferior to your $100/hour candidates. In the end all depends on the individual. Basically due to flawed assumptions, this article is merely a place for whining developers who lost their job due to off shoring.

Author comment by Dave | August 10, 2010 at 7:10 am

Hi Parag,

I think you missed the point of the article: managers believe offshoring will save them tons of money, and the reality is far different than that. Rates are no guarantee, but your own admission is that the quality of work is higher in the US. Thanks for your comments.

Jade | August 18, 2010 at 6:28 am

Agile methodologies with short sprints should be used to make sure that initial scopes and estimates match outputs at each step.

If the client is diligent enough and is part of the process, warning signs in each stage can be spotted and addressed by both sides.

Word of advice for those wanting to ‘offshore’. Inquire about the methodology and measure your comfort level based on that. Cheap rates are irrelevant if the methodology (or lack of it) fails you scrutiny.

On another note, ALL our clients are stateside and have come to us at $50/hr from failed projects from local devs at $80/hr-$100/hr. That’s for RoR.

They’re very happy with us…

lowlyworker | August 30, 2010 at 7:31 am

One observation that bears correcting. Upper management doesn’t keep outsourcing because they believe it’s more cost effective, they keep outsourcing because it applies wage pressure on the rest of thew work force.

terry | August 31, 2010 at 4:17 am

I agree with lowlyworker. My company is trying outsourcing thinking if they outsource low level tasks and extra projects that our US team can’t get to they’ll save money, but I noticed that I didn’t get my annual review this year and no pay raise and I’m convinced that anytime I ask for any long overdue cost of living increase, I’ll be reminded that I’m in competition with third world software developers for my wage.
Management believes that the core competency of the company is management not their high performing employees. So everything besides management is on the table as a outsourcing candidate. So when my middle management boss asks for a pay increase from the CTO he won’t be competing with a manager overseas because outsourcing a management position is unthinkable to them. I’ll probably be leaving this BS job soon enough if things don’t turn around.

Sean | August 31, 2010 at 7:06 am

I agree that outsourcing is proving problematic for many Companies, and also very hard to pin down accurate numbers. No CIO or CEO is going to publish abject failure in a process they championed and even if they move on no one is going to tell the investors.

I believe you are missing some of the biggest losses that aren’t tracked well though. Lets say that a large firm outsources development of support and ongoing development of 150 internal applications, 10-20% of the people who know how those apps work and were developed and why are retained (80-90% are gone), 4-5 years down the road what are a companies options when the outsourcing is not working out? From my experience most if not all of the people, that did stay, have moved on, due to frustration, and there is nobody left who even remembers why an app was created. The turnover in outsource staff is perpetual, and there is no project ownership, and almost no offshore developer will question anything, even if it becomes apparent that there are problems.

I am fine with this trend continuing though, I come in at a very high hourly rate and pick up the pieces, to take the 60-80% of the requirements that were delivered and make the app work for the client, I really laugh when I think that I was driven into contracting by being outsourced, I billed the same company 3 times my previous salary rate to come in on a 3 month contract, to finish a project delivered a year late, by an offshore contractor, that I had estimated 2 months from locked requirements to production delivery, on this same project before I left. I could have done the work in about of month or less but the first month was almost entirely meetings, the second month trying to figure out how they had accomplished the tasks they had, which by the way came no where near the very stringent coding standards that had been in place and in force at the company before outsourcing, then two weeks of coding and two weeks of testing and QA.

A vast amount of knowledge was lost when these companies outsourced, they kept their most senior knowledgeable people, who are now preparing to retire, what now? How much will it cost a company to get back to where they started? Knowledge and information is power, no one who works for these companies can access the information anymore and the knowledge has moved on, how long do you thing these companies will glide?

Sorry I started this just hoping to agree and point out a few places where there are additional costs and risks that didn’t get into the mix; it kind of grew out of control.

Leave a comment!

Powered by WP Hashcash

<<

>>

Catagorical Insanity

Switch to our mobile site