Taking into account:
- the time needed to find the right partner
- communications issues due to language and cultural differences,
- differences in quality standards
- different time zones
I spent much more time/energy/money than if I decided to work with local partners. Everything needs to be over explained and documented to expect fair results. In the middle of the project I decided to visit the company to clarify issues directly with the developper as the technical coordination was below zero. Last but not least, when I spoke to the developper I hired, he told me its actual salary was below 10K/year, that he was just hired for my purpose, and that he needed training/support wich he did not properly get from his employer . The offshore company SLA (supposed to insure to get the right ressource, avoid communication problems, including technical coordination,…) was absolutely not worth the remaining 30K. The company was partially (or totally?) owned by guys living in my country, and I think they just wanted to make a lot of dirty cash, in the context of offshore being hype at this time. I assume I did not select the right partner, but I dont think problems related to quality and communication would have been radically different.
When working with local partners much more understanding can be achieved with much less communication, and leading to better quality and quicker delivery. Offshoring might be a good option for bigger companies who have large team of project managers and technical coordinators, but for smaller agencies, I think it is just a waste of time and money at the end. And a lot of unwanted stress too !