First, let's understand the difference between offshoring and outsourcing, as these two terms are all too often confused. Outsourcing is the outsourcing of a process (e.g. software development) to an external service provider as a result of a make-or-buy decision. Offshoring, on the other hand, is the geographical relocation of a process to a country "beyond the coast" (offshore), typically India, Vietnam or Philippines; the legal entity providing the service (e.g. Software Development in a IT Development Center) can be provided by a subsidiary of the mother company - in this case it's about Offsoring, NOT outsourcing. However, if the Offshore Software Development is provided by a Third Party in India, then Offshoring and outsourcing coincide.