My classic offshoring story is of a team of people we brought in to do QA (literally to write the unit tests that Troy's blog post no one ever writes). This team was very bullish on getting to do more than "just" testing. My CEO wanted to let them take a crack at it, and I had more than enough to do so we tried it out.
I had written some domain models for dealing with users and I needed equivalent models for dealing with notifications. So I asked them to take the work I'd done and use it as a template for the new stuff. I got back code with the method and variable names search and replaced, pretty much exactly like what I expected. What they _hadn't_ bother to modify was the SQL that actually operated on the data (yes, I had to write it out like a cave man). So I had a bunch of notifications domain objects that operated on the USER table.
I had written some domain models for dealing with users and I needed equivalent models for dealing with notifications. So I asked them to take the work I'd done and use it as a template for the new stuff. I got back code with the method and variable names search and replaced, pretty much exactly like what I expected. What they _hadn't_ bother to modify was the SQL that actually operated on the data (yes, I had to write it out like a cave man). So I had a bunch of notifications domain objects that operated on the USER table.
That experiment terminated early.