The idea of technical debt is a fairly old one in engineering circles and it has enormous relevance to the way we solve business problems in organizations today. This came up over a coffee discussion today with Alex Steffens and Ross Hill. We discussed the problem of getting people to change a decision, or create a new solution, when there was already a sunk cost that had been invested in said solution. The idea of sunk cost, seemed to overlap heavily to the idea of technical debt.
Pete Yandell once walked me through how he defined technical debt, and I’d like to share that here today.
Technical debt is essentially the idea that once you release a piece of work, it has a number of flaws in it which require maintenance. This is true of everything in an organisation, regardless of whether what they are doing is code based or not. The key is not how you eradicate technical debt, but how you actively maintain it and pay it down..
There are two main types of technical debt:
1) Debt is accrued through poor work and/or poor decisions made in the present day, given the best present data.
The debt is accrued through poor decisions and poor execution at the time of deployment. This might be someone producing work that’s not up to scratch, or just a group of people making a decision which is not ideal even in the current time.
2) Debt is accrued over time, as a decision that was correctly made years ago becomes less correct as new solutions and opportunities appear.
Pete explained that, as an engineer, he had the chance to pay down some debt and make his code better each time he produced some new code. In an agile world, organizations produce new work in a consistent pattern. If that’s the paradigm that an organisation runs by, then whenever new work is created there is also a new chance to pay down some of the old debt that exists – be that type 1 or 2 above.
And so, we are seeing many organizations moving closer towards a more agile way of practicing business. This will have great ramifications when the world is faced with making decisions where sunk costs are present, which need to be reversed because it gives people a guided way to pay the dent down gradually – rather than in one big, expensive hit