How to approach and prioritize technical debt
Here&#x27;s a few observations (after long time experience and involvement in research around technical debt):<p>1) It is impossible to avoid gathering technical debt. The code will deteriorate in one way or another. You need to prepare to fix it since you can&#x27;t avoid it.<p>2) It is so extremely difficult to make a correct &quot;risk assessment&quot; on technical debt so you should avoid doing so at all. You will just end up arguing all day on the merits of clean code&#x2F;architecture vs feature growth. Instead, keep two backlogs and reserve a set amount of resources on each, e.g. 20% on reducing technical debt and 80% for product features and other development.<p>3) The &quot;cost&quot; of reducing technical debt is actually negative. That&#x27;s the whole point of working with it, to increase development velocity.