You should try other outsourcing destinations. Large timezone differences are indeed a hurdle, and culture differences is always underestimated. Add to that the general ineptitude of managing projects in large companies, and you have a recipe for disaster.
In Western Europe, the most compatible culture and therefore easiest place to start, is Eastern Europe and Russia. If you are in the US, I'd personally just outsource to US companies in the midwest. Some of my western European clients are actually doing this now, as for example NC hourly rates are lower than Moscow rates.
Managing projects where you have big cultural differences require many years of experience in that particular area. Even then, it requires a much higher project management effort.
If management of a project with a local team take on average 10% of total project time, a project with developers in a markedly different work culture will easily take 20-30% of time spend.
We had a wonderful Ukrainian engineer working for us. It was a very productive relationship. He worked 1 on 1 with a project leader here, and they got more done than the Russian team ever did. But that ended; one day in the standup he said "I have to go; we're having a revolution outside my window".
I remember having to work with a Croatian outsourcing company once, it was pretty much the same as the worst-case people talk about for India. You had to nail down the specs exactly, most of what you nailed down wouldn't get implemented anyway (despite being paid for it) and a lot of what we thought was nailed down was implemented incorrectly due to poor understanding of English. Conversely I've heard a lot of good things about the better Indian and Chinese outsourcing companies. It feels like one of the biggest problems with outsourcing is that when a company decides to outsource, they're already price-sensitive, so many of them go for the lowest bidder instead of paying the extra for a good outsourced team -- which would still usually come out cheaper than a good local team.
Fully agree. Nationality alone isn't a sure fire indicator of quality. I find that on average there is a higher success rate with eastern europe / russia vendors, especially when the onshore personnel are inexperienced with outsourcing. But of course there is hits and misses no matter what country you choose. Finding a good vendor in any location is a discipline in itself.
And yes, if a company decides to outsource with low price being the overshadowing priority, they are likely to end up with the amazingly low price and amazingly low quality vendors.
Also agreed. Shopping on the basis of nationality misses the point. The problem with India is that small cheap outsourcing shops have zero chance of attracting top talent. In smaller markets, where big prestigious technology companies don't have offices, you are more likely to luck-in to exceptionally good overseas engineers at a good price.
But you sure can't count on this happening, and, by the very nature of this effect, it doesn't scale, and it isn't repeatable.
In Western Europe, the most compatible culture and therefore easiest place to start, is Eastern Europe and Russia. If you are in the US, I'd personally just outsource to US companies in the midwest. Some of my western European clients are actually doing this now, as for example NC hourly rates are lower than Moscow rates.
Managing projects where you have big cultural differences require many years of experience in that particular area. Even then, it requires a much higher project management effort.
If management of a project with a local team take on average 10% of total project time, a project with developers in a markedly different work culture will easily take 20-30% of time spend.