“Technical debt” is a term your software outsourcing partner might use, but do you know how important it is?
Technical debt seems innocuous, but it’s one of the biggest gotchas of software engineering – not just for outsourcing, but you can also get got if you have inhouse developers.
It’s a gotcha because most founders or managers don’t necessarily understand how important it is. I’ve been watching The Bear recently, and as a result my usual staple of “building-based metaphors” are now “cooking-based metaphors”.
You can’t run a kitchen if you don’t take time to clean, because eventually you can’t cook there anymore because the kitchen becomes unsanitary. This is what happens with technical debt – mistakes are made and things get dirty as the solution is built, but from the outside it looks OK. Management tend to look at it and think, “this looks fine”, even though the technical team are on the edge of their seats with clenched teeth waiting for something bad to happen.
You need to make time to clear technical debt, otherwise you stop being able to make any progress. Sometimes software partners can hide the existence of technical debt altogether – in these situations you have to get them to open up and create space for them to pay down the debt.