The more opportunities I get to work with management of large corporations, the more I see how the traditional systems development organizations we have become accustomed to in IT should be a thing of the past and be replaced by outsourced, on-demand, services.
It doesn't matter whether you utilize people in the same town or around that world! Where you obtain resources is a function of economics. If local vendors are competitive then by all means use them. If not then there are excellent vendors with talented people scattered around the world.
The key issue is that is that outsourcing today enables company to obtain the specific skills they need when they need them.
The key is staffing with a core of technology independent analysts who can help you find and select the right people for each project you engage in.
The days where "COBOL", "RPG", JAVA, or any specific programming language as a standard for your company is an anachronism. Today you must be flexible and utilize what best fits the current situation and project requirements.
Managing vendor provided resources can be challenging. The key is having people with solid skills in vendor selection and management. Additionally it is insuring that you do not abdicate your responsibilities such as testing, reviews, and acceptance to the vendor.
Be careful to avoid mistakes that some are making when initiating an outsourcing program. Do not replace existing people with vendor people just to outsource. The key to outsourcing is to pay for what you need only when you need it and to not pay when you do not need the services.
Maintenance and support is often an area of vulnerability. Companies replace employees with higher priced vendor contractors and pay more. A large outsourcing vendor can negotiate a support agreement where they guarantee availability of people, but only charge you when a work item is assigned to one of their people. These agreements can be negotiated where an estimate for the work is presented before any work is performed, and contingencies int he contract enable you to go elsewhere if the vendor is not competitive in their pricing and estimates.