Nextpertise a journal of interesting technical ideas . . .

Technical Debt

by Brent Stewart on Monday, Oct 2, 2023

I’m going to wander into some concepts from my day job. Give me a little room and I’ll relate how this insight is relevant to everyone and what I’ve learned. By the time I start to make that turn, though, I’m guessing you’ll be well ahead of me.

Technical Debt

Technical debt is a concept that commonly discussed in IT. It’s generally understood to be the cost of delayed license and hardware upgrades. For instance, if you’re still running Window 10 then at some point you’ll need to migrate to Windows 11. There will be a cost to that upgrade. Running Windows 10 today means that cost is something you’ll have to bear in the future.

At budget time, IT folks talk about this version of technical debt (future costs of delayed licenses or hardware replacmeents). Doing some of these needed upgrades is referred to as “paying down technical debt”.

Gene Kim’s revised definition

Gene Kim, who’s written several thoughtful books on IT management including The Phoenix Project, wrote about technical debt in a slightly different way. He wrote that technical debt is the total future costs you are committed to based on current decisions. The two are similar at a surface level, but Kim’s idea gets to a deeper truth.

I know that several of you thought about ways to avoid that Windows 10 debt. If you thought about Linux, I approve. But there’s still costs. There are costs involved with learning something new (in time and perhaps money), there are opportunity costs with not being able to conveniently use Windows stuff.

Kim’s definition gets at this total costs - actual outlay to vendors, commitments of time, and associated costs. It also speaks to the ongoing costs of not upgrading - maybe security risks or incompatibilities - as well as the normal costs of operation. Normal costs of operation for Windows include things like “blue screens of death”, ongoing privacy impingement, and troubleshooting.

The typical definition - future license and hardware costs - assumes that technical debt is something to be avoided and that larger technical debt is a sign of underinvestment. Kim’s definition - future total costs of today’s commitments - speaks to a larger truth that every decision, good or bad, carries some consequences and that larger technical debt is actually just a deeper understanding of those commitments.

Both definitions have a place in IT discussions. Kim’s is not limited to budget time, though, and speaks to a larger self-awareness.

Likewise

And here’s the turn you saw coming. Technical debt is something we all have to face and think about.

Imagine you purchase the car of your dreams. This purchase makes you unbelievably happy! Still, you have incurred technical debt (and not just the monthly payment kind). Purchasing a car means that you need to budget for gas. It means that at some point you’ll need to make repairs on the car, or have someone do that upkeep for you. It means you’ll need time on Saturday’s to wash the darn thing!

We’re taught that debt is bad and I’m not going to disagree. This philosophical kind of debt is basically a consequence of living. It’s not so much about avoiding it, which is impossible, as managing it.

Managing Technical Debt

So, how does one manage it? This section gets into my opinion, so be warned.

The most important outcome of this discussion is just being aware and thinking through the logical consequences of our decisions. Your decisions today might mean that you’ll need to know a new language, need to learn a new skill, or need to spend money in the future. Being aware of those commitments, listing them out and thinking about them, gives us the chance to deal with them proactively. Generally, I’ve found that anticipating issues and dealing with them early is cheaper than waiting for “Boom!” and scrambling.

For example, if you purchased a car you’re going to have to repair something at some point. If you want to do that yourself, you’re going to need tools and know-how. Today might be a good time to visit Autozone or to register for a community college class.

Technical debt is a part of life and largely beyond our control. However, we can typically choose the type of repayment. In the car example, we can balance monetary costs, time commitments, and other costs. One might purchase a used car to save money, and choose to do as many repairs as possible at home. A different person might find that their time at work allows them to earn more money than they’d spend on repairs, and might choose to start saving. Spending money for durability is another example of this same concept.

All this discussion of debt does require one last thought. The point of living is to live! Don’t let this discussion keep you from doing the things the add value to your life and your family. Things that have value, some of which can be frivilous, give life meaning. Just choose those things wisely and understand the natural consequences of your decisions.



References:
  https://www.amazon.com/The-Phoenix-Project-audiobook/dp/B00VATFAMI/ref=sr_1_4?crid=3G15KXSXD13CK&keywords=gene+kim&qid=1697910897&sprefix=gene+kim%2Caps%2C189&sr=8-4

Recent articles related to these tags:
management
Share this article:   
Tweet