Organizational Debt

Recently, I came across a term I had never heard before, organizational debt. We all know what debt is, and in the software industry we have a special kind of debt called technical debt. After doing some further investigation, I came to the conclusion that organizational debt can literally cripple a company, mainly because the business world has become much more fast-paced than it used to be. But before we go any further, lets first look at what organizational debt actually is.

The "interest" that companies pay when their structure and policies stay fixed and/or accumulate as the world around them changes.

For example, I'm sure you all have been in the situation where you want to deploy your code into production, but in order to so you first need sign off from 10 different departments, half whom don't even care/know about the software. This process that you have to follow and the running around that it involves is an instance of organizational debt.

Different Types of Organizational Debt

In general, there are two forms of organizational debt, which are as follows:

Obsolescence

As I mentioned above, the business world is changing at such a rapid pace. As a result, companies often have policies & procedures in place that may have worked 10 years ago, but in the modern age, are now obsolete. Having these obsolete processes causes an immense amount of organizational debt.

Lets continue with the scenario above. Lets say that you have an agile/devops team and want to deploy at the very least bi-weekly, if not every few days. The policies that the company have regarding sign-off into production may have worked in the waterfall era of software development, but it will just cripple your team if you have to follow that process. So much time would be wasted on something that no longer makes sense.

Accumulation

The second type of organizational debt is when policies get continuously added on top of each other over time and are never removed. This type of debt occurs when people typically want to correct a problem that once occurred and over time people just keep on adding to the list, without ever going back and thinking about which ones they can eliminate.

Ideally, you should try practice the following guideline.

You need to understand the reason for the policies and if they no longer apply they should be removed.

Reducing Organizational Debt

Reducing organizational debt may seem quite difficult at first, as you can't just throw everything out and start from scratch. So in order to tackle this debt, the following are some of the ways in which you can remove it.

Bounty Programs

Companies, such as Microsoft and Google, often have bug bounties where they reward you with money if you find a bug in their applications. You can take a similar approach here and have a "process bounty". A person would be able to submit a process which they believe to be obsolete to a body of people whose job it would be to discuss it with the relevant parties and find out what it's original purpose was, after which they can decide to reduce it/eliminate it altogether.

Give Teams the Power

Another option is to allow the team(s) in your organization to adjust the policies and procedures that affect themselves. By doing this, you essentially create an organization that gets better everyday, all by itself. However, if you do choose this path, you need to remember that you need teams that are self-organizing and able to identify improvements by themselves. If not, this option will more than likely fail.

Don't Just Create Policies

In most organizations, we are used to just creating a policy to prevent an issue that once occurred, from happening again. Instead of doing this, you could take the approach of not creating rules, but letting your people work things out themselves. Again, this will require people who are self-organizing and understand what needs to be done to make themselves more efficient. I know this won't apply to every organization as most teams aren't self-organizing, but as leaders part of our job should be to shape our team so that they can be self-organizing.

That's it from my side. I would love to hear what other types of organizational debt you have in your organization and what you have done to eliminate it. One thing to remember, is that this will take time, but slowly you will become more and more efficient.

Until next time...keep learning!

Mauro Da Silva

Learning everyday about software development, leadership & self improvement

South Africa