> Fourthly, when the offshoring occurs, the transmission of knowledge sharing is very hard. The local people who are being let go won't be too facilitating in this documentation as well which is understandable.
This sounds like a setting expectations issue. Developers are expected to write code, write tests, and troubleshoot issues. Why not also expect them to produce written documentation? Every job I've ever applied for states "must be proficient in written / oral communication" in the job requirements.
Just be clear about your expectations up front (when you are signing the contract) and this will not be an issue.
If it does become an issue, sue them for breaching the contract. It's the same way any other B2B sale would work - if the company I hire to clean my offices uses a toxic cleaning product, I'm going to sue them for creating a hazardous workplace.
> Finally, just the geographical aspect. Teleconferencing, skyping etc. really adds an overhead and slows down productivity.
I strongly disagree with this. It sounds like a company culture problem. Plenty of companies are fully remote, and many companies have remote workers. Skype for Business, Microsoft Teams, and Slack are all really great at allowing people to communicate.
If anything, it might be a lack of training on how people can use these tools.
Now geographically it does make a difference. You need to be more deliberate about planning your meetings - someone in EST needs to schedule meetings with someone in India in the afternoon only. They can't just schedule a meeting whenever they please.