Andrew's Digital Garden

Tech debt, and when to fix it

Technical debt is the implied cost of future work, whether accrued through deliberate shortcuts, or updating requirements. It slows you down as you maintain a codebase, when technical debt is high, a small change becomes a big change, it goes against [[20200307101703-easy-to-change]].

Writing code requires making assumptions, assumptions about code change over time, the delta in assumptions is technical debt

A feature freeze that lets you tackle your mountain of tech debt at once will never happen. Don't count on it.

Instead, chip away at tech debt constantly. When you're working on a feature in the area, make that component better. When you're using a dependency, update it. See some unclear logic? Rewrite it.

This concept is also referred to as 'gardening', the 'scout rule', or the 'campsite rule' - leave things better than you found them.

[[engineering]]

Tech debt, and when to fix it