When to outsource

David Anderson quotes
an answer
by his boss on outsourcing at an all hands meeting. 

We will outsource when there is no knowledge associated with an activity, such
as repetitive execution of test plans. We will not outsource where there is knowledge
to be gained and retained such as writing test scripts or programming automated tests.
We will also outsource when we have resource issues. We will look at each case in
turn. When it makes commercial sense we will outsource to elevate a bottleneck.

Exactly.