I wish they would stop saying this crap because it isn't true for any of the Indian software people I work with. Im a programmer and, yea sure, some of them are pretty sharp in terms of writing code (better than I am), but the majority are worse than the Americans I work with because they DONT speak or write English very well and they dont have a whole lotta initiative.
Precisely. I don't know why the media keeps repeating this myth, but it is WIDELY known in the industry and Indian software engineering is looked upon with great skepticism because a lot of people have had very bad first-hand experiences with it. It is an exercise in masochism to try and outsource any kind of vaguely complicated software development to India.
And as for communication, it is like dealing with people from a different planet. They may nominally "speak English", but syntax is the most minor part of the communication problem.
The most successful "outsourcing" project I was ever involved in used Canadians, and we ended up bringing them here. Exactly like working with Americans, only cheaper. The only countries that work well for outsourcing are Anglosphere countries, mostly because they speak the same language natively, are well-educated, AND THEY SHARE THE SAME CULTURAL CONTEXT. That last part is more important than most people can possibly imagine. Scotland, Ireland, Australia, England, Canada, and New Zealand are by far the countries that it is the least hassle to outsource to, but for better or worse, you won't save too much money by doing so.