2 March 20267 min read
Most in-house-versus-outsource comparisons open with a cost table, and the cost table almost always favours outsourcing. That is not a useful place to start, because cost is rarely the thing that makes the decision wrong afterwards. Engagements fail because the work needed something outsourcing could not give it, and the price was never the issue.
There is a better question, and it is uncomfortable enough that most vendors will not ask it.
Is this work the thing that makes you different from your competitors, or is it work that simply has to be good?
Almost everything follows from the answer.
Work that differentiates you
Some parts of a system are the reason customers choose you. The pricing engine at an insurer. The matching algorithm at a marketplace. The editor at a design tool. This work compounds: every decision made in it depends on the hundred decisions before it, and most of that reasoning is never written down.
That is exactly the knowledge an employee accumulates and a partner does not. You can document a great deal of it, and you should, but the version that lives in someone's head after three years is richer than anything in the wiki. For this work, hire, wait the months it takes, and pay the local rate.
We will say this on a first call. An engagement sold against a buyer's better judgement is unpleasant for everyone and does not get renewed.
Work that has to be good, but is not the difference
Then there is everything else, and it is most of the system. The admin panel. The integration with the payment provider. The mobile app that mirrors the web product. The reporting nobody enjoys building. The test suite that has been on the roadmap for two quarters.
This work still has to be done well; bad versions of it will hurt you. But it does not compound in the same way, the requirements are more stable, and the reasoning is more legible from the outside. This is where outsourcing works, and it is a much larger share of the backlog than most teams assume.
The second question: how fast do requirements move?
Once you know the work can be outsourced, the second question decides where. Work whose requirements change weekly needs someone in your working day, because every ambiguity is a question, and a question that costs a day compounds fast. Work that can be specified up front and accepted on delivery does not care about the time zone, and you should take the cheaper option.
- Changes weekly, needs conversation → near-shore, shared hours
- Specifiable up front, accepted on delivery → far-shore is fine and cheaper
- Queue-shaped, high volume, runs continuously → a large time-zone gap is an advantage
What the cost comparison misses
When you do get to cost, run it honestly. The rate difference is real, but three things routinely go missing from the in-house side of the table and two from the outsourced side.
Missing from in-house: recruitment fees, the months the role sits open while the work does not happen, and employer contributions and equipment. Missing from outsourced: the onboarding ramp before anyone is productive, and the management time your own people spend on direction and review. Put all five in and the gap narrows, usually while still favouring outsourcing, but by an amount you can actually defend to a CFO.
You can change your mind
The decision is not permanent unless you let it be. Plenty of teams start a capability outsourced, prove the direction, and bring it in-house once it is clearly worth permanent headcount. That path only stays open if the code, infrastructure, and documentation are yours throughout and the handover is planned rather than improvised, which is worth confirming in writing at the start, when you have leverage, rather than at the end, when you do not.
