Another more concrete or tangible reason is the logistics. Before I go into this let me just digress (again...). My perspective on outsourcing and it's implementation comes from an application development background, so needless to say that will be my focus. Let's consider the scenario...
An organisation decides to descend down the road of outsourcing. What's the easiest thing to outsource? Often the so-called back office functions; development and testing. The theory (often heard by many) is this; development and testing work is partitionable (for lack of a better word). You slice of blocks of your project and pass it to either the test or development teams and at the end of that timeframe (in your project) the work magically appears done. Classic waterfall model and it lends itself (in theory) as an ideal candidate to Global Sourcing.
This does of course include several assumptions.
- The piece of work is well defined with clearly outlined start and end criteria. In the case of development, this is well defined requirements documents (with no potential for scope creep - I just noticed all the developers glaze their eyes over on that, but bear with me..) and in the case of testing, a complete unit of software that is ready for testing again with clearly defined documentation.
- Minimal micro-management of teams. The project manager would only require updates on progress and otherwise everything will continue as is.
- Communication between the various teams will not be an issue. This includes accounting for time zones and geographical diversity.
- All resources required by the various project teams will be readily available and accessible.
There are many more to this list and all if not most are easily rectified. The key is identifying these issues and working through them. There needs to be a willingness and acceptance of the issues and risks associated alongside them. To think that a seamless transition will occur is setting oneself up to fall a long long way down.
But I digress... back to the logistics. The biggest thing from a purely logistics perspective for outsourcing is the geographical diversity. That which is it's biggest advantage can also be it's biggest disadvantage. Your teams may be at the antipodes from each other. Not only does this hinder face-to-face discussions but something as simple as the time difference can cause an issue. One group will work while the other sleeps and vice versa. The positive spin is that you can have work on the project close to 24 hours a day. Conversely, you have a 24 hour turnaround in responses between teams and potentially team members. You may have someone work on a project for a whole day only to realise that they are operating on a completely different tangent to another team member. This coupled with communication (as in being able to contact team members when required and not language) pose potential roadblocks on the path to outsourcing success.
Another side of the logistics is the infrastructure...
To be continued...