There's layer upon layer of misperception surrounding the concept of offshoring. One misperception I call the Alice in Wonderland view, where people see outsourcing as a magic pill you swallow that defies the laws of time and space. I hear this refrain a lot: “We tried outsourcing, and it didn't work.” That's like saying, “I tried hiring a programmer from Texas, and that didn't work.” You don't try something like that once and write it off if things don't work out as you'd hoped. The best way to view offshoring is to see it for what it is: recruiting and managing developers in another country.
Do you still need to make sure you get good people? Yes.
Do you still need to train them? Yes.
Do you need to give them incentives? Yes.
Do you need to spend lots of time making sure they understand the company's objective? Yes.
You need to spend lots of time training them in best practices and familiarizing them with your target users, especially since those kinds of customers may not exist in their environment. You have to make sure the offshore employees understand written English (if not spoken). You'll want to be aware of any cultural differences. Better yet, understand them in detail. Wow, you might be thinking, that sounds like a lot of work. Why go to the trouble?
The answer is money. You can change your economics if you have a team of offshore developers who are well qualified, well trained, and well integrated into your company. A lot of raw talent ...