The Outsourcing Low Cost Lie
So, given that 98% (assumption) of blogs are stupid, do you conclude that any given blogpost is 98% dumb? Or do you go looking for the 2%?
Did the failing projects fail because of outsourcing? Or was it bound to fail anyway because of unrealistic expectations?
Outsourcing done right can bring a lot of benefits, not just in cost, but also in flexibility if you're small. If, on the other hand, you think you can flick your wrist in the general direction of the shore, and have high quality software materialize it self, you're bound to fail - but that strategy was going to fail with local developers, too.
An essential reality is that you can't outsource your vision, in exactly the same way you can't get local employees to buy into your vision by sticking it in a PPT on the intranet and never talk about it again.
I've worked for several companies that outsourced work. Only one project was what I would consider at all successful, and in that case, the US company was owned and managed by several people originally from China, and some development work was outsourced to China, to a company owned by the president's brother. How that managed to work, I'm still not completely sure, but it actually did, for the most part.
In the other cases, the costs were much greater than expected, both because the companies we outsourced work to did not perform as expected, and because we had to spend extra time managing them and correcting their mistakes. The poor quality of work by the company we outsourced to was the main reason I left one job - I just did not believe the company could survive given the quality of the product. Plus I was tired of putting in 60-80 hour weeks trying to make up for the crappy job they were doing.
The CHAOS report[1] shows that in the US in 2009, only 32% were successful and met expectations. If 50% of all outsourced projects fail or fail to meet expectations, it sounds like they're beating us.
[1] http://www.projectsmart.co.uk/the-curious-case-of-the-chaos-...
About 90% of my direct experience with offshore developers (most of whom have been in India) has been bad. (Not all of it has been bad: I've known a few good ones from India and Uruguay, but they were the exception rather than rule.) I chalk this up to several factors. One, most so-called developers are bad, period, regardless of nationality. Second, in the low-cost developing nations that folks most associate with offshore development (India, the poster boy) the average years of experience is much lower. Third, there's the language, cultural and distance obstacles. And fourth, and possibly not least important factor: low prices mess up the quality-is-price signaling mechanism. Is a particular offshore developer seeking a low hourly rate purely due to geographical/economic effects? Or is it due to them being lower skilled or having less experience, or needing to take more hours or developers to do the same task? Perhaps it is a mix of these factors.
I've been involved in very successful and not-so successful efforts to outsource offshore. It takes a kind of discipline that's rare in startups. It's also not particularly compatible with lean or agile processes.
Do you have work for which iteration is not a major consideration? Do you have work which you understand well and for which you can clearly and completely communicate the requirements in written form? Do you have work for which it is straightforward to objectively test that milestones are being met and quality is being maintained?
There's one stat in there that bothers me: "About 50% of outsourced projects fail."
What is the percentage of "in-sourced" projects that fail?
I don't know the exact statistic, but I'm sure many software projects just flat out fail.
I have a couple of friends that managed large software development projects with global teams, one while at Microsoft and the other while at Autodesk. They both told me that outsourcing work to India was not seen as a way to cut costs but to instead acquire talent. That being said, as a small business person with limited development skills I do save money by outsourcing to India. But I take the time to thoroughly qualify my contractors, develop proper specs, and establish realistic expectations. I may spend significantly more time managing an overseas project than if I was working with a local or even American developer, but I currently have more time to invest than money. So there are the opposite ends of the spectrum...I imagine the middle ground can get pretty convoluted ;)
What I've seen is that outsourcing goes across the board.
There are high-end outfits in India like Infosys that compete with the big consulting operations like IBM. They are cheaper than IBM but pricey compared with lower-end shops in the US. Those shops are world class and are as good as anything you'll find anywhere.
Other than that, you can have anything happen on an outsourced projects. Some of them go very well, but often they go bad... Sorta like farming work out to any development organization.
I agree, I lost tons of money outsourcing. That doesn't meen you can't leverage the global economy to find remote employees that require a lower salary.
I've seen it work well when an existing relationship exists between the company doing the outsourcing and the programmers being outsourced to.
In our case, we have some Russian programmers working for us. They used to be permanent employees here, but have since moved back to Russia. The quality is known (high), and deadlines are met.
However, whenever any of the big outsourcing companies have been involved it has always been a disaster: More expensive than local when the project finally reaches completion (that's if it does), incredibly variable rates of quality, poor communication, continual programmer attrition.
i agree with @mseebach ... if outsourcing done right can bring a lot of value to a company. it is important to know that not every function can be outsourced. on a high level, tasks which are repetitive can be considered for automation or outsourced.
to me, outsourcing is the easy part, to ensure and measure the quality of service/products delivered from the outsourcing effort is the challenging part. much easy if u r a small startup, but if u r like ibm, it is not easy to determine what to outsource and how to measure the roi of outsourcing.
I would like to see what the % of projects that are not outsourced fail for comparison. My guess is that bad projects with bad management contribute to both, more-so than outsourcing. We just completed a large outsourced project that would have taken not just 4x the money by twice the time if we had tried to do it in-house. And at the end of the project, the labor overhead for in-house is low and sustainable.
You get what you pay for
How to get moderate attention on HN:
1. Come up with a provocative blog post. 2. Write a whole lot of shoddy math to prove your title thesis 3. Extrapolate that your tiny sample set of anecdotal experience encompasses the entirety of the problem 4. Publish