Robert Dempsey's post Does Offshoring Really Save Money? says the #1 risk of offshoring is communication overhead.

In this post I argue that the larger risks for offshore development include lack of offshore management know-how, inadequate user involvement, poor change controls, and lack of required technical know-how. As an "offshore" consultant myself (I'm available for work, by the way: lobrien -at- ), my experience is that it's the "out of sight, out of mind" aspect, more than "communication overhead" per se, that can cause the problem.

Offshore teams can go dark more easily, the team members are less visible to stakeholders, and the competition to be the low-cost provider leads to less experienced, less competent, less involved development teams.

That's why I don't try to compete with low-cost bidders. In my experience, the majority of clients will trade some amount of cost-saving for a large increase in productivity and control. The development teams that I put together generally have developers from developing economies (BRIC), but everyone I hire passes a programming test customized for the position and technology they'll be using and has to meet my high standards. In return, I make sure that they get paid enough to strive to keep the gig. If they don't write tests, if they go dark, or if they just can't cut it, they're gone and I don't use them again. (I'm always seeking excellent developers, by the way: ibid.)

It's a system that creates teams of highly productive developers writing high-quality code -- a situation that saves a lot of money for the majority of teams seeking help. There are definitely risks in offshoring, but it definitely can save you money.