Debt, in the context of a company, takes on many forms. From the quite literal of owing money to the more abstract concept of technical debt.
Technical debt is, to use Wikipedia's tidy definition:
The [technical] debt can be thought of as work that needs to be done before a particular job can be considered complete or proper. If the debt is not repaid, then it will keep on accumulating interest, making it hard to implement changes later on.
The idea of technical debt was devised as a shield: a way for engineers to protect themselves from the never-ending demands of their company. As a company grows and expands it creates new things. These new things are built on top of existing things. Sometimes the existing things do not provide adequate support for what is going to be built on top of them. Here a choice is faced: do you fix what exists so it properly supports something new, or do you get some gum and glue and force things together? The latter method creates technical debt.
Sure it'll work - for now. Yet if you build on top of that new thing a couple of times you'll eventually come to a point where things start to fall apart. No one wants that. So instead the idea of technical debt is thrown up like a flare, warning everyone that short-term gains can be accomplished at the cost of long-term stability.
Yet to never take on technical debt is equally foolish. For starters it's impossible to plan for the future. Trying to devise a foundation upon which all future things can be built on is not possible - for all you know the analytics platform that you created to support your company becomes completely useless when your company pivots into a freemium game production studio. Further, if you're constantly doubling back to tidy up your existing things to make space for your new things you can end up doubling your workload. It may be that the thing you changed for one new thing needs to be undone for a new new thing.
As a software engineer I'm always weighing the cost of my engineering decisions. Will this new thing I'm building create so much debt that it pushes us too close to bankruptcy? If so then I need to directly address the debt I already have before making anything new. Or perhaps this new thing that I'm creating can be used to address some existing debt while it is created? Those type of things are my favorite. It allows me to create a new thing while fixing an existing thing, making everything better once it's done.
Debt is good. It allows for speedy progress. What isn't good is accruing too much debt. As the saying goes, too much of anything is bad.
There's another type of debt a company accrues that is obvious in hindsight. I only tuned into its existence thanks to an excellent blog post by Steve Blank, 'Organizational Debt is like Technical debt – but worse'.
Steve Blank explains:
Organizational debt is all the people/culture compromises made to “just get it done” in the early stages of a startup.
He uses as an example a recent conversation he had with a startup founder entering a new round of funding. While the founder was excited about the future Blank expressed his concern for the organizational debt that had accrued:
While the company had a great plan for keeping the top executives, and had all the startup perks like free food and dogs at work, they had spent little time thinking about the organization debt accruing with first 100 employees who had built the company underneath them. These were the employees that had the institutional knowledge and hard-earned skills. Originally they had been attracted by the lure of being part of a new media company that was disrupting the old, and were working for low salaries with minimal stock. And while that had been enough to keep their heads-down and focused on their jobs, the new funding round and onslaught of new employees at much higher salaries had them looking around and updating their resumes.
Organizational debt results in a company's quick death if it is never addressed. Technical debt will hurt like hell, but it won't kill a company overnight - organizational debt will.
Companies are the sum of their employees. Organizational debt is created when you delay addressing people issues. People issues such as never attending to company culture or company processes. People want to do their work in a healthy and fulfilling way, and if the company gets in the way of those desires then it will result in a loss of people.
In truth there's limitless types of debt. Anything you put off till tomorrow won't disappear. At some point you will have to circle back and address it or else face the consequences.
The easiest way to address debt is to be aware of its existence. So long as you know that at some point in the future you'll have to double back to fix some of the shortcuts you took today, then you'll be ok.
Thanks to Jem Young for reviewing this post.