It is never wise to trust and go by any blanket generalization. I am afraid the author raised very valid points, but at the end made this blanket statement:
So what is the solution?
Don’t outsource. Seriously.
And then (probably as an afterthought) added this: If your work is very monotonous and does not demand high quality, outsource.
If you want a very good software product and if it the flagship product of your company, never ever outsource.
You are doomed otherwise.
My views on this topic:1. Outsource wisely. If consider yourself a hacker, and are in early stages of developing your product/startup idea, then outsourcing is definitely not for you.
2. If your work is not well specified and not well thought out, cross location development would make it even more harder to come up with something special.
3. Good programmers are not easy to find anywhere. If you are looking to outsource, and want a good team, please be ready to put in the hard yards. Negotiate, and select your team.
4. If even if you have the right team 'skills wise', please give this 'relationship' a little bit of time as well. :-). Developing a good working relationship across geographies is not easy. So, if you are looking for a quick solution in a short time frame (2-3 months), your odds of not getting what you really want, are higher.
Previous related discussion threads: