佳方案时进行了妥协，改用了短期内能加速软件开发的方案，从而在未来给自己带来的额外开发负担。这种技术上的选择，就像一笔债务一样，虽然眼前看起来可以得到好处，但必须在未来偿还。软体工程师必须付出额外的时间和精力持续修复之前的妥协所造成的问题及副作用，或是进行重构，把架构改善为最佳实作方式。1992年，沃德·坎宁安首次将技术的复杂比作为负债。
技术债务的分类.马丁·福勒提出了把技术负债分为四个象限。常见的技术债务的原因有：