The Concept of "Technical Debt"

In a hallway conversation the other day, one of my up-and-coming software engineers casually dropped this term of "technical debt." When I gave him a quizzical look, he went to describe that this is the debt an organization accumulates when it doesn't pay for software improvements, hardware upgrades, and/or software maintenance fees and licenses.

"Sure," he said, "You can skip paying for an upgrade license for a software app for a few years. But eventually it will catch up to you. You can pay me now, or you can pay me later--but there is no getting around the payment."

For certain aspects of engineering (especially software and electronic hardware), he explained, failing to budget/pay for upgrades and updates is a game that will eventually catch up to you.

"You can keep an old Windows 7 machine running just fine," my engineer pointed out, "but eventually you'll need to buy a new printer or peripheral that won't be compatible. And then you'll have a major disruption to deal with that could have been avoided."

Interesting. The more I thought about it, the more I believe this to be true. Further, I think there is "interest" on technical debt that accumulates just like monetary debt. You can indeed pay now or later, but more often than not, "later" means much more money, time, and hassle than if you'd just paid your technical bills when they were first due.

Or, as another engineer of mine likes to say, "Kick enough [technical] cans down the road, and eventually you will find that the road is blocked."

Have a question or comment to make? Please leave your feedback in the comment box, below.

(Also, remember that you can always contact me directly with a question via email by clicking here.)

And finally, please, please, please don’t forget to sign-up for our email newsletter list to receive a free PDF copy of:

The Eleven Key Responsibilities of Every Project Manager.