I was reading An Elder Challenges Outsourcing’s Orthodoxy, yet another discussion about the merits — or not — of outsourcing. (You may have to register to read the article.) Whether you think outsourcing is an economic good or evil, here’s my perspective.
You can choose to turn your products into commodities or you can innovate. If you choose commodity, then select the cheapest labor market — because it doesn’t matter. You’ll get something good enough in an adequate time, assuming you made some reasonable choices about outsourcer and spent the time and money to get them up to speed.
But if you choose innovation, you can’t outsource. You can’t define all the requirements and hand them off to anyone in a highly innovative product — requirements definition and product development have to be a joint exploration — and you can’t do that when the definers and the developers (and testers) don’t sit near each other. You can’t wait for a product to be done — you need to see the product unfold and adjust the product (or the project) to accommodate the things you forgot.
The third option I’ve seen is to outsource ongoing development with a piece of the product and continue developing in the original country. In all the cases I’ve seen, outsourcing slows down the entire project. In my opinion, this happens in the same way all non-co-located development breaks down. People aren’t together, so they’re not tied into what other people on the project are doing. The lack of face-time prevents people from working as fast as possible.
You can get cheap development — and you can’t also get adaptability or speed.
You can get innovation and speed. It’s not cheap. But with careful project initiation and management, you can contain your costs. Just don’t make the error of thinking that you can create innovative products cheaply by relying on outsourced labor.