Technical Debt Defined

Technical debt is one of the most persistent and useful metaphors in software engineering and it is also one of the least clearly defined. This post sets out a clear, rigorous definition aligned with current research and practice.