Cultural differences can be a nightmare and a cliché lovers dream. For example, we all know that the Welsh can play rugby the way it’s meant to be played, wide, expansive and exciting.
On the other hand, everyone knows that the English can only push people around the pitch until there’s no-one left and even then they have trouble getting the ball to the backs.
Similarly, the cliché goes that Indian software developers are cheap, and to some extent nasty. And like the rugby cliché this one is really no longer true either. Whilst India remains much cheaper for offshore development, it no longer stands that the quality is any inferior to code produced in the UK or US. Sure there are bad developers in India, as there are here. But the overall quality is as good as I could here, at a fraction of the price. There is no way I could bring in my current project within the budget allocated without offshoring, but there is also no way I would ever compromise quality in any project. And the teams in India have been developing software as long, and as well, as anyone.
Yet I started out not talking about the similarities, but the differences. And this is where the challenges in dealing with off-shore are located. It doesn’t matter how different cultures try and westernise, they always, fortunately, retain their own cultures, their own concepts and ways. The challenge for those of us who want to take advantage of excellent technical abilities at low cost is to bridge these divides; the cultural chasms that can derail a project even when the technical abilities are of the highest order.
For example, when dealing with off-shore development teams there is a reluctance to impart bad news. If the off-shore project manager feels that the project timescales are too protracted, they can often hide the timescales, promising falsely shortened deadlines. This is down to an inherent desire to please, to make the client happy, without understanding that while we may not like bad news, but we prefer to know what we face, the problems that are in front of us. Fortunately over time you can train the off-shore PMs to understand that we want to know that nasty truth. And as long as you know this can always be an issue, a wise PM can translate deadlines.
And then there is communication in general. Always the most important thing in any project, communication can be the difference between failure and success. Therefore when crossing cultures it is essential that you can setup communication channels that can cross these divides. I have a on-site PM, but from the off-shore team. He has been part of our team for so long, yet still belonging to the outsource company, he can successfully translate. This is not about English itself, but about more subtle nuances. It's bout the ways we say things and the things we do not say. Having someone on team who can understand both sides is vital. Having them more on your side than theirs is even more vital.