Skip to content
AyoKoding

Artifact: Technical-Debt Prioritization by Friction

ex-29 · exercises co-16 · ranking three logged debt items by ongoing friction, not recency.

Debt itemLoggedOngoing frictionRank
DEBT-041: missing row lock on gift-card redemption2026-07-18 (newest)Low -- estimated <0.01% of redemptions affected, no reported incident yet3rd
DEBT-019: pricing logic duplicated across 4 files2026-03-02High -- every pricing change now needs 4 coordinated edits, and 2 of the last 6 pricing bugs were a missed 4th file1st
DEBT-027: test suite takes 22 minutes, no parallelization2026-05-14Medium-high -- slows every single PR's feedback loop, but has a known, scoped fix (pytest-xdist) already estimated2nd

Verify: DEBT-019 (2nd-oldest) ranks 1st because it costs the MOST ongoing friction (a recurring, measured defect source), not because it is the oldest -- and DEBT-041 (newest) ranks last because its current friction is genuinely low, satisfying co-16's "rank by friction, not recency" rule.

Key takeaway: age and friction are independent properties of a debt item -- the oldest item is not automatically the most urgent, and the newest is not automatically the least.

Why It Matters: a backlog sorted by creation date silently promotes stale but low-impact debt over recent, high-impact debt just because it has been sitting longer, which is exactly the kind of "loudest ticket wins" prioritization a friction-based ranking is designed to prevent.

Last updated July 17, 2026

Command Palette

Search for a command to run...