Does Outsourcing Programming Really Save Money?
itwbennett writes "In a blog post titled 'Why I Will Never Feel Threatened by Cheap Overseas Programming', John Larson tells the story of a startup that shipped its initial programming to India, paying $14 per hour, with predictably disastrous results. Larson concludes: 'I have yet to see a project done overseas at that sort of hourly rate that has actually gone well.' But in this not-uncommon tale of outsourcing woe, is the problem really with the programming or with unrealistic expectations?" The comments on Larson's blog post (originally titled "Why I Will Never Feel Threatened by Programmers in India") seem to me more valuable than the post itself.
Seems to work ok.
Just because the overseas programmers suck (debatable, but let's assume) doesn't mean management isn't going to go for the $14/hr carrot.
I am very small, utmostly microscopic.
Having been involved in many outsourced projects, a number of problems tend to crop up again and again:
1. Offshore programmers frequently lie about their programming skills
2. Competent Indian programmers tend to do fairly well if given very explicit instructions, but are at a loss if something unexpected comes up. They tend to be less adaptable and nimble than U.S. programmers.
3. It ends up taking longer than estimated, even for simple projects.
4. Hand-holding and rework end up eating up all time and money savings.
5. By the time an offshore programmer has skilled up enough to actually be useful, they leave for a better position. (Especially true for India.)
To my mind, outsourcing programming is a management fad that is (hopefully) already falling out of favor due to poor results.
Lawrence Person (lawrencepersonh@gmailh.com (remove all "h"s to mail)
http://www.lawrenceperson.com/
I once did some contract work for a place that made the mistake of outsourcing a major programming job. My job was to maintain the outsourced code, and keep it functioning (barely) while the internal programming team worked on building a complete replacement from scratch, at half the cost, with the actual system requirements being fulfilled. I spent four months fixing bugs in deliberately obfuscated perl code, at consultant rates, because none of the internal staff they had hired was either able to figure out perl code in general, or willing to even try to sort out that mess. The outsourced programmers in question had the dodgy business practice of deliberately making their code difficult to read, and only including comments like:
# 16426-b
The code in question contained wonderful constructs such as pointless loops where a value would be iteratively divided by the numbers from one through a thousand, then restored to it's original value without being used in the altered form. I started the project with about 6 million lines of perl code, and by the time it was over and the replacement was ready, tested, and brought online, there were only 2 million lines in the outsourced code, including about ten thousand lines of comment code that had been added while I was working on it. I hadn't even looked at about half of the remaining code.
After the initial work was done (poorly), the outsourced programming company announced that their code maintenance fees were being increased, thinking that their poor coding style had essentially locked the client in, and left them unable to get help elsewhere. The only staff member the company had who was willing to make the attempt unfortunately committed suicide after only a month of trying. (Personally, I believe it was unrelated, but the other programmers there claimed she was perfectly fine until she started working on that code... after two months of it I could see why they would think that.)
So yeah, in my experience, outsourcing programming does not save money - if the company I did that work for had just had their own people write the original code, they would have saved a massive amount of money.
If you pay someone by the hour, they will work as slowly as they can...
If you pay someone by project, they will cut corners to finish quicker.
If you pay someone by lines of code they will write bloated code.
All of this is even worse when the developers are halfway round the world and you can't keep track of them so easily, and when you don't have sufficiently clued up people on hand to inspect the code they have written.
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
I think you hit on something, even if you haven't realized it. Companies don't hire first year students. The numbers have been dropping for almost a decade now. Companies get it into their head "why deal with college hires when we can use experienced off-shore". Well you can't keep a pipeline of experienced programmers in the US unless you make the investments in the next generation of programmers.
I'm from Finland, where we don't have English as an official language. I think there is something wrong with Indians who don't speak English, same as with everyone else who doesn't speak it: they are at a great disadvantage in the international job market. I'm not saying it's necessarily their fault, they may not have access to language lessons etc., just that it's a smart move for people from anywhere in the world to learn English.
for how much removed they are from the system. The owners that is, not necessarily the managers, but the owners set the policies and tones. Adam Smith lived in a time when it was safe to assume the capitalists would live near the means of production and thus suffer the consequences of their actions. He didn't see satellite communications coming. For what it's worth Karl Marx talked about this; e.g. how capital owners would be insulated by pitting labor in one economy against another; but all anyone can remember about him is that a bunch of dictatorships borrowed his books for rhetoric...
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/