Photo from here.
In Agile development teams we talk about technical debt. A debt is basically anything you owe the codebase; anything you need to pay back. When you make a decision to ship less-than-pefect code to meet a deadline, the less-than-pefect code is the debt you have to pay back. When a junior programmer is left alone and writes poor code in a different style, their code becomes a debt – something you need to fix later.
You can build up debt outside of your codebase too. Every team, every product and every project accumulates debt every day.
Every band-aid you put on a broken process is adding to your debt.
Every time you avoid having a hard conversation with an under-performing employee it’s adding to your debt.
Every compromise you make is adding to your debt.
You can ignore debt, but you can’t avoid it forever. And debt earns interest and generates yet more debt – and it’s probably generating more than you think.
Debt is a weight around your neck; it’s a burden, it’s baggage, and it gets in your way. Instead of ignoring it, start paying off your debt.
Adam Smith once said: “What can be added to the happiness of a man who is in health, out of debt, and has a clear conscience?”