Don’t outsource the unknown:
Let us imagine a system with multiple components spread across the evolution axis but we have no map. Let us now apply a single highly structured process to the system, often through a contract detailing what should be delivered. Unfortunately, unbeknownst to us some of those components will be in the uncharted domain and hence are uncertain by nature. They will change and hence we will incur some form of change control cost. These costs can be significant in any complex system that contains many uncharted components. As a result, arguments tend to break out between the buyer and the supplier. Unfortunately, the supplier has the upper hand because they can point to the contract and show that the components that did not change were efficiently delivered and the cost is associated with the components that changed. The old lines of “if you had specified it correctly in the first place” to “you kept on changing your mind” get trotted out and the buyer normally feels some form of guilt. It was their fault and if only they had specified it more! This is a lie and a trap.
The problem was not that a highly structured process with detailed specification was correctly applied to industrialised components but that the same technique was also incorrectly applied to components that were by their very nature uncertain and changing. The buyer could never specify those changing components with any degree of certainty. Excessive change control costs caused by a structured process applied to changing components are inevitable. The fault is with the supplier who should have the experience to know that one size fits all cannot work. Unfortunately, and there is no polite way of saying this, it’s a lucrative scam.
From “Doctrine,” Wardley.
You might also conclude that you should only outosource things you understand well. You need to know how the variouses processes work so that you can determine that there’s little unknown to them and that they’re static.
Or, it should be such a commidified thing that you don’t need to know now how it works, just that it doesnt change much, like power, email, or Internet. Rather, the outcome of the thing doesn’t change.
You want to monitor those things to see if there’s suddenly innovation in the outcomes of commodity services. For example, payments was moribund for a long time, and now you can pay for things on your phone, or at least use chip-to-tap stuff.