Technical Debt, Organizational Debt, and Shoes

Technical Debt, Organizational Debt, and Shoes

When you wear shoes, you want them to fit. If shoes don’t fit, they hurt! Your parents I’m sure tried their hardest to get you the shoes that fit best when you were a child. Perhaps you got a new pair of shoes when you were two years old. Then your feet grew more and your feet started to hurt in your current shoes. Your parents then found a pair of pre-worn shoes at a local store and gave you those, knowing that you would outgrow them quickly. After outgrowing them, you borrowed your cousin’s old shoes she didn’t wear any more. But you still kept growing!

So your parents bought you another pair of new shoes. Over time, your feet grew less and less quickly, but every now and again you still needed a new pair. Eventually, your feet stopped growing and now you only need to change shoes once every year or two (if that!) just to stay fresh and up-to-date with the latest fashion. Your feet are as comfortable as can be and you love the fact that you know exactly which size shoes are the best fit.

Yep - you guessed it. In this metaphor - the shoes are processes in a growing company. When you don’t change shoes quickly enough, bad things happen. You get blisters. But if you get shoes that are too big, you can’t move anywhere, slowed down by the excess weight.

In technology circles, there is a phrase that gets thrown around quite a bit as organizations grow and products become more complex. This idea is known as technical debt. Technical debt occurs when code is easy to implement in the short run but used instead of applying the codebase with the greatest overall long run benefits. A similar mental model is sacrificing a global maximum for achieving a local maximum. Later on, someone needs to go through the hard work to fix and update all of the work completed beforehand. Originally, someone made the best decision they could at the time, but it needed to get fixed all over again. This is known as ‘paying down the debt.’ It’s something that has to get done eventually.

Imagine building a product or coding a piece of software to do something that works for 10 users. But then, when 20 users are on the website or using the product, it breaks down. What do you do? You re-design the product to suit the new set of users.

Perhaps it is too expensive or takes too long to re-design the product for 1000 users, so you complete a re-design for 50. Maybe you use a simple load rebalancer. A quick fix. Then once 40 users are on the site at the same time, you are able to plan further ahead this time and build a version that functions with 100 users.

Technical debt builds up over time and unless you ‘pay it down,’ the debt comes back to haunt you. Perhaps it even bankrupts you.

Organizational debt is a similar beast. The processes that work when a company is 10 team members often need a radical overhaul when they have reached 20 - 30. That is normal. What isn’t normal or healthy is to wait until the company is 100 people big before changing the process that worked at 10 people. The process likely should have already changed 2-3 times in that interval. A general rule of thumb is every time the company doubles in size, all processes deserve a turn under the microscope.

Paying down organizational debt is when processes in the company need to be reimagined due to the emergence of a more complex system.

Paying down organizational debt is re-organizing libraries of files when the organizational structure no longer is operational, wondering why it was ever this way in the first place.

Paying down organizational debt is overhauling a recruiting and hiring process, wondering why we ever did it another way.

Paying down organizational debt is revitalizing an old technology that no longer serves its purpose, wondering how the first technology ever made sense.

Paying down organizational debt is reconceptualizing the definition of customer service, wondering how we ever had time for such personalized care in the first place.

It really excites me that we are paying down so much organizational debt right now! Working through the really tough stuff is just that - tough! We still have so many actions to take and so many bottlenecks to eliminate in order to allow everyone to work as efficiently and effectively as possible. It is so much better that we are paying down this debt now, rather than waiting for the company to grow further to do so. Making these changes with 80 or 100 people onboard would be many times more difficult than it is now. And of course that doesn’t mean that there won’t be further changes to make once the company doubles again in size. The longer the debt stays hidden accruing interest, the more we need to pay back later!

No one wants to wear shoes that are too tight. That’s why you get new shoes. When you’re growing, it’s sometimes harder to predict exactly which is the next shoe size to buy. It doesn’t make sense to give a child her mother’s shoes when she’s seven. It also doesn’t make sense to let her stay in the same shoes until the feet start to blister.

We’re all working together to get everyone new shoes. Thank you for hanging in there while we’re on the way back from the store!