Company boundaries should be set so that they minimize transaction costs.
If it is more expensive to trade a resource than to own the resource, the company should internalize that resource (consolidate value chain activities from upstream or downstream).
If it is more expensive to own the resource than to trade it, company should divest the resource and buy it as needed from the market. This is a great example showing that Value can be also created through the architecture of transactions.