Technical Debt is a Business Problem: Find Freedom Here
Companies that accumulate too much financial debt suffer significant consequences. They are often unable to respond to market opportunities because they are over-leveraged. They are also at-risk for making significant structural changes just to stay afloat. Most large companies manage their finances appropriately to avoid these consequences.
However, these same companies are often prone to accumulating large amounts of technical debt. What is technical debt? Technical debt is what happens when we focus on features and functionality, and ignore non-functional requirements like security, refactoring, and technology refresh. We often continue to enhance our way toward a cobbled-together mess, instead of starting over on a solid foundation. This kick-the-can approach is cheaper in the short run, but costly and risky in the long run.
Unfortunately, this is largely seen as an IT problem, and not a business problem. The business wants features and functionality, and the minimum amount of overhead for all of the underlying “IT stuff” that makes it work.
However, just as financial debt can choke your growth and flexibility, technical debt can exhaust capacity, destroy productivity, and marginalize market agility. Don’t take my word for it, Forbes calls technical debt “the silent company killer.”
What do you do about it?
Many years ago, when I was young and newly married, my wife, Wendy, and I had a fair amount of consumer debt, student loans, and car payments. We could have done what most 20-somethings do, and just watch it continue to rise, but we took a different approach. We got serious about eliminating debt. About a decade later, Dave Ramsey rose in popularity with his “get out of debt” books, radio shows, and classes. We helped other couples by facilitating Financial Peace University at our local church.
Reflecting on my pathway toward financial debt freedom, I thought I’d try to apply that to our problem of technical debt. Here we go:
Get mad at technical debt
To get out of financial debt, you need to develop a burning hatred toward debt. The same goes for technical debt. I don’t think most organizations hate it enough. Personally, I can’t stand legacy technology. I think it’s embarrassing. I’m appalled at security problems in our code. I’m furious about the cobbled-together architectures we run. We’re professionals and we take pride in our work, but the ugly stuff must go.
At work, I think of myself as the repo man. When the technical debt payments haven’t been made, and time runs out, I’ll gladly come and haul it away. Someone has to do it. It might as well be me.
Get on a budget
Christmas isn’t an emergency. New tires aren’t an emergency. A 20-year-old furnace going kaput isn’t an emergency. These are all predictable financial expenditures that we can and should plan for. Save now, and the money will be there when you need it.
In the same way, technology lifecycles are published well in-advance. Architectural patterns become obsolete, and we all know it. We need to budget the cost of refactoring and refreshing into the product and business capability. Every time you identify a new piece of technical debt, put it on the product backlog and make sure it gets remediated.
Cut lifestyle
Once you decided to get out of debt, you have to drastically reduce your lifestyle. You can’t go out to eat every day and drive a new car if you are serious about it. Reducing discretionary expenses to the bear minimum leaves the maximum available income to throw at debt reduction.
It’s really fun to go buy a new boat on credit. It’s not fun at all to sit at home at a card table eating bread and drinking water to spend your money paying down things you already bought. In the same way, you might get an award for spinning up a brand new digital experience app, but no one cares if you spent your nights and weekend refactoring the invoicing system from VB6 to .NET Core. This is important, but not glamorous. The reward is freedom, not fame.
The debt snowball
Just as a snowball rolling down the hill starts small and gets bigger without any effort, you can attack this problem in a way that gets easier as you go. For financial debt, you line up your debts smallest to largest and pay off one at a time. As you pay off the little ones, that frees up even more money to go after the next one, and the next one after that.
In IT, we are so choked with technical debt that we don’t even know where to start. Here’s where: find something easy and small. Reap the efficiency gain from that, and spend it on going after the next one.
That debt-free feeling
Once you start eliminating technical debt, you start to notice that would walk around the office with a new bounce in your step and higher levels of emotional and mental energy. That positive intrinsic feedback motivates you to do more and more.
Technical debt is a difficult and universal challenge. It’s been a headache at every company I’ve worked in. I’ve had success with this method. It takes intense focus and determination, just like financial debt elimination. It’s not fast, it’s not fun, but it’s necessary. Don’t spend your limited IT budget on technical debt interest payments. Pay down the principle and free yourself from the chains! For related information on how to tackle technical debt, check out these articles:
How to Migrate a Data Center in 182 Easy Steps with Agile and DevOps
Like my article? Share it with your colleagues.