No perfect code or system exists. Ask any engineer and they’ll have a list of improvements for most any file they’ve ever touched.
This list of negatives can weigh on people. “We need to fix it eventually” or bad things will happen.
Like any source of anxiety, the easiest way to disarm it is by asking why?
What would really happen if it’s never addressed?
I find this to be clarifying.
The worst case for any system would be a total rewrite or refactor. It can help to ask yourself how long it would take to completely fix a piece of code. Is it a week? 6 months? What kind of customer impact would the rewrite have?
Safe to ignore
When I find that a piece of tech debt could theoretically be fixed in a week, with little or no customer impact. Why care about it at all? The worst case scenario isn’t worth the anxiety.
A real problem
On the other hand, if we go through these questions and realize it could take months of effort and put a core part of our business at risk, then we should pay attention to it and make a plan.
More often than not, I find our worries around tech debt fall in the first category and we can let it go.