Finding what costs you.
WHAT TO LOOK FOR
Areas everyone avoids changing Changes that consistently take longer than expected Areas producing most defects Code nobody understands Dependencies that cannot be updated Manual processes that should be automated Missing tests in important areas
WHAT MEASUREMENTS HELP
Where defects cluster Where changes cluster Where changes take longest
WHY THOSE TOGETHER
Code that is both changed often and difficult is where debt costs most.
WHAT IS NOT NECESSARILY DEBT
Old code that works and is rarely changed.
WHY
Its cost is near zero, whatever it looks like.
WHAT TO ASK
What is this costing us?
WHAT TO DO IF THE ANSWER IS NOTHING
Leave it.
WHAT TO RECORD
A register of known debt, with its effect.
WHY
So decisions are made knowingly, and so it is visible to those planning work.
WHAT TO AVOID
A list of everything anyone dislikes.
WHAT TO PRIORITISE
Debt in areas you are about to change.