I am always amazed when people look at me weird when I mention Technical Debt. I thought this was a universal understanding. Well, you know what they say about assumptions.
Lately, when I am working on my projects, even my personal ones, I have been keeping a budget. It is not an exact science, you just have to agree to a cost for things (even debt) and what your budget is for the project. Most of the time my budget includes a padding for unexpected things. As you are going along making changes, adding features, debt will accumulate. If it becomes large enough that you can’t address it daily, that debt needs to go back into the plan. You don’t have to pay things down right away, just make sure you know how much you owe.The key is to be open and honest about the state of the project . Tradeoffs and risk are part of development, you have to decide how much you are willing to take on.
The best way to explain this is to watch this video by Ward Cunningham.