Outsourcing is the purchasing of products or services from an external, or third-party, supplier instead of an internal supplier.
There are many reasons an organization may choose to outsource a service.
Hiring an external team of professionals can give companies more space to focus on the core business. Although there is more time for the core business, a successful outsourcing project, like any other, requires supervision by the company.
Outsourcing allows for a team to grow or shrink on short notice, scaling up or down with the company's needs.
Outsourcing is often used when a young business does not want to take on the risks, responsibilities, and high costs of vertical integration, or growing an in-house team. Costs of equipment, training and administrative fees related to the service are generally covered by the outsourcing firm, in the case of software development.
In many cases, but not all, professionals with specific skill sets are more affordable in country's with lower wages and operating costs. Outsourcing firms are traditionally associated with lower cost but it is not the rule.