Tech debt ain’t all bad. What can we learn from the comparison to financial debt?
Wikipedia defines Technical Debt as “the implied cost of future reworking required when choosing an easy but limited solution instead of a better approach that could take more time.”
Financial debt is a powerful tool. Used well, it can enable the impossible and contribute to wealth generation. Used poorly, it can destroy it.
Similarly, with software engineering, knowingly—or unknowingly—leaving some concerns for another day may be the right thing to do. But we must intentionally manage that.
“Buried in debt”. That was the prompt used to generate this article’s image. The result feels a bit post-apocalyptic. Let’s consider three lessons that can help us avoid such outcomes.
Credit cards typically have higher interest rates. Mortgages tend to have lower interest rates. Which is better?
The financial impact depends on (a) the interest rate and (b) how long balances are held.
Similarly, with software engineering, some choices can sit with minimal accrual. For others, the impact and cost to unwind compounds quickly as time passes.
Takeaway: Track the types of tech debt you hold. Some can safely coast with minimum payments. But when tech debt prompts more tech debt, recognize the potential for exponential growth.
As debt accumulates, necessary purchases can become impossible. For example, imagine all my income goes to debt payments. How will I buy groceries today? What do I do when an emergency expense arises?
Similarly, with software engineering, tech debt can reach a painful point where meeting the needs of the present is difficult—perhaps even impossible.
Takeaway: Stay alert to how the accumulation of tech debt influences decisions and our ability to respond to business needs.
I’ve taken the first two lessons to heart:
But what will happen if I never make payments? Negative consequences will surely follow.
Similarly, with software engineering, we must explicitly budget regular payments into our planning cycles. “We’ll do it in our free time” is not-so-secret code for “it ain’t happening”.
Takeaway: Paying off tech debt should be part of each planning cycle. Allocate time and capacity to do the work.
I’d love to hear your thoughts. Please feel free to comment on the related LinkedIn post.