Mis-adventures in Off-shoring

Many companies have dabbled in the practice of 'off-shoring' some of their software development.  More and more companies may be looking in that direction as resources become tighter and tighter in this currently shrinking world economy.  Many of the companies who've given it a try have made some pretty basic mistakes and others have found success.  Those that have made mistakes have generally missed the mark by NOT actually off-shoring development ... just off-shoring some element of the development process; usually testing.  The problem with off-shoring just the testing can be that unless the offshore resources are presented with either the test cases, a detailed functional specification, continual access to a domain expert, or some other form of impossibly detailed acceptance criteria (in conjunction with the relevant domain knowledge), it is difficult for the off-shoring team to meet their customer's expectations.  This is not to say that off-shoring testing cannot be successful, just that since meaningful testing relies on communicating the intent of the myriad of different usages of an application, any impediment to that communication degrades the delivery of meaningful testing; either in quality or timeliness.  Depending on the nature of the product development, if only one element of the SDLC is to be off-shored, the likely best candidate is test automation.  Having on-shore testers (working in conjunction with the Devs/Product Owner) producing test cases that can then be automated by others presents a situation where the reliance on off-shore domain expertise is diminished.