Technical Debt - The Unseen and Surprising
TL;DR; We accrue technical debt in different, often unseen and innocent ways: 'Unexpected' - created by unpredictable or aggressive change. 'Unintended' - created by something missed at the design/development phase. 'Tools and Tech' - opportunity cost of not leveraging faster, more effective tooling and technologies. 'Team changes' - codebase incoherence due to number of contributors (who may no longer be part of the team). As with all work - get it into the backlog so it's visible. Weigh up not only the cost of clearing technical debt, but also the value gained from clearing quickly . If you can't 'sell' the benefits of a refactoring - you probably shouldn't do it. 'Technical Debt' (Tech Debt) is explained nicely by Wikipedia : Technical debt (also known as design debt or code debt, but can be also related to other technical endeavors) is a concept in software development that reflects the implied cost of ad