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.
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.
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.
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.
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…
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.
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.
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 🙂
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?
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…
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.
Outsourcing cost less regardless of project’s success or failure. Either way IT saves money by outsourcing, its simple as that.
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.
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.
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.
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.
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?
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.
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.
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…
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.
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.
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.