Even with the issues exposed and the ways to address them outlined, there are contraindications. And yes, these are going to be really, really subjective paragraphs.
Cheap vodka and a $1000-per-bottle whiskey readily take you to the same immediate result - excessively intelligent talks, immense attractiveness to the opposite sex, amazingly dexterous gesticulation, etc. What differs is the path to that result and the long-term consequences that you encounter when the morning arrives.
You may argue, but it's pretty much the same when it comes to the choice between an outsourcing company and your own in-house development team. The former is just a more cost-effective option giving you the same for less. The latter, on the other hand, will likely ensure a smoother road to the spectacular results while saving one from some possibly sore consequences. It's crucial to understand that software outsourcing is not always the best option. It's cheap vodka, not an exquisite beverage.
Accepting the risks associated with offshore development sometimes does and sometimes doesn't make sense - that's how, ideally, the pros and cons of software development outsourcing should be estimated.
From where I stand, software outsourcing is a mistake if:
- It's onshore
- The core of the business is in the question
- You're already an established company
- Attraction of investments is a concern
Let me explain a bit.