When to Outsource Work

Not all work is outsourceable but tasks that are can help a business scale and save money. Work that is frequent, repeatable, and needs limited knowledge about the business to perform are good candidates for outsourcing (e.g. a process for tagging data). Work that is core to the business is a bad candidate for outsourcing (e.g. product engineering).

Frequent and repeatable tasks

Outsourcing a task needs to be well-defined. Things that come up infrequently and are not repeatable aren’t easy to write down and therefore not easy to share with others.

Infrequent tasks also mean there is a longer feedback loop for improvement. The more reps you get doing anything, the better you will be at it. The same goes for outsourcing.

Limited knowledge required

Training is important and the more knowledge it takes to perform a task the more effort it will take. It’s not impossible, people are more than capable of learning about new things and tooling to find answers is getting better, but ideal tasks for outsourcing don’t need a ton of knowledge to perform.

Not core to the business

This is the big one! If you are trying to outsource something that is the crown jewel of the business, that’s a mistake. When you need to be the best in the world, outsourcing is not going to get you there. For example, a software company that outsources all software engineering is unlikely to have enough control and vision to build a world-class software product.

An easy way to find out if something is core to the business is to ask yourself, “If my customers found out this was outsourced, what would they think?” What if SpaceX used outsourced rocket engines? What if OpenAI outsourced language models?

  • A List of Tasks Describes Multi-Party Processes Poorly

    A list of tasks to complete does not contain sufficient information to describe a multi-party process. For example, if you were to describe ‘pick up the milk’ to an extraterrestrial you might say 1) go to the store 2) buy milk 3) check out 4) go home. However, this hides the complexity of interactions.