I guess its largely based on the scope of the project and deadlines.
There is a high level of risk when it comes to outsourcing mission-critical aspects of software without properly communicating with the vendor (as you'd guess). I've worked in companies in the past that use outsourcing liberally, by that I mean all the core application development is done in house and some of the low-risk (but still important) bits were offloaded to offshore companies (most of the times India or a couple of times to Russia and Hungary).
Another is where there's a lack of skill locally, this was especially the case for DRM/Crypto bits which we hired two Russian developers for - it was quite economical too. It took a bit longer than was originally planned but with lots of documentation, IM and talking over the phone, it worked out well.
!--removed tag-->
Enter your message below
Sign in or Join us (it's free).