Outsourcing hurts innovation when people aren’t able to communicate frequently and casually. Frequent and casual conversations are impossible across nine time zones.
Farming out development to legions of programmers overseas will not create a differentiation advantage. When a software company outsources development, that company loses its capacity to innovate and its competitive advantage.
If you’re building an innovative software company, you need to retain your best and brightest programmers internally. Software companies entirely based in India can successfully innovate over the long term, as can U.S. companies or companies based anywhere else.
- From Joel Spolsky's 'The Best Software Writing I'