In prior decades, hiring an external firm to do something that was an internal function would have looked mostly like outsourcing: hire a company to provide the same service more cheaply, often by through geographical labor price differences. Now, however, an increasing amount of that work is done by subscription to a software-as-a-service and similar products.
The process is somewhat self-reinforcing. Using one SaaS enables using others: you take on an HR-as-a-service tool, which integrates seamlessly with a selection of payroll-as-a-service products. From the employment standpoint, this has a couple of interesting effects. There are likely many fewer people working on even a very large SaaS - compare Salesforce to all of the customer tracking systems companies used to maintain internally. However, those jobs are, generally, pretty good: because of that exact same scale, employees of the SaaS vendors are productive, and their work well compensated. On top of this, firms need to staff internally to work with and maintain their use of these SaaS systems. These introduce new, skilled occupations, some very successful.
However, there is also a pressure towards a certain type of internal standardization within firms. In prior years the internal working of firms could be quite idiosyncratic. The only cost was acclamation for new workers, who were coming from a sufficient diverse range of former employers that there was limited pressure to "do things a certain way". I suspect we're going to see that become less and less true: the costs of idiosyncrasies are fewer SaaS options that fit your needs, and more cost to transition to (and later upgrade) different SaaS offerings.
The lack of internal standardization though is where much of the ongoing need for more traditional outsourcing comes from: rather than being able to contract for software or transactional services (e.g. QA) companies need actual humans who can learn that idiosyncratic internal process, and deliver against it.
There is an ongoing story about the "shadow workforce" in Silicon Valley - the temps, vendors and contractors that make up over half of many of the large companies staffing. There is an interesting puzzle in this, that Russ Roberts and Noah Smith posed in an episode of Econtalk last year. These smart, dynamic Valley firms have very large staffs of contingent worker for which they are paying a significant premium: its not clear, though, what they are getting for that premium.
All of these companies are sophisticated in how they buy-in services: they all use SaaS from other providers, and augment with traditional outsourcing to deal with their own processes and systems. On top of that, they outsource roles where the company itself has no real competence: hiring bus drivers via a transportation firm for staff shuttles or contracting with a maintenance company for an office complex's HVAC systems. While there are valid questions about how these folks are treated, the reason why the firms aren't hiring directly are pretty clear.
The questions is in the third class of outsourcing: the large class of contingent workers that have roles which are direct parallels of full time staff: skilled program managers, test engineers, support team members and so on. Overwhelmingly, these are vendors - traditional outsourcing relationship where the company will hire (for example) a full QA, customer service or content reviewer team from the likes of Accenture, HCL or a more specialized shop.
This isn't cheap - the hiring companies are paying the full cost of the people working, plus a markup. This is not to say the costs are the same as full timers: benefits vary, often contractors are housed in less-plush offices, and the contract relationships are nominally more elastic. However (from my own anecdotal survey) many of those workers would work for the hiring company directly for the same deal, and the length of the tenure is not massively different than the average full time staff tenure. So why pay the premium?
There are some factors which undoubtedly contribute to incentivize outsourced hiring:
- Hiring is expensive. It is significantly easier and faster to add staffing through a pre-established contract than it is to go through recruiting within a firm, even for common roles.
- OpEx is easier to get than headcount. Its often easier to drum up budget that can be spent on a contractor than it is to get headcount, and managers in the firm are often are aided by account managers from the contract companies.
- Regional availability. Contract companies offer an ability to get in-country staff in a region where the firm does not have an office.
I think there is something deeper going on though (meaning I don't have any kind of useful answer for Robert's question). I'm of the opinion that if you removed almost all of the staff from (say) Google tomorrow, the company would happily continue to generate revenue for quite a while (and significantly more profit!) The majority of full time employees at Google are building Google itself, and the work they do scales. However, if I imagine removing all of the vendor workers things would go south a lot faster: advertisers wouldn't be able to get the questions answered to run campaigns, bad content would appear in search results, and myriad other human-reliant, hard-to-scale aspects would start to fail.
In effect, Google, and I suspect most of the Silicon Valley firms, have two workforces: one full-time, well remunerated workforce investing in building the company's capabilities, and one contingent, outsourced workforce focused on operating the company. For that, they are willing to pay a premium.