Voluntary Technical Debt

by chromatic

James Shore is my friend and co-author of The Art of Agile Development (in progress). In between writing furiously, becoming a father any day now, and running Cardmeeting, he still has time to discover new insights and write them for the world.

Technical Debt refers to all of the design decisions and shortcuts you make that may eventually cause you to do more work to resolve them later. Managing technical debt is one of the most basic (and most challenging) parts of any project.

Jim's new essay on Voluntary Technical Debt demonstrates Technical Debt on a real project, as well as an advanced technique: deliberately incurring technical debt for short-term gains. Please note Jim's estimate that he and Dave will spend more time reducing their debt than if they'd never incurred it. (Yet also note that Jim, Dave, and I all voluntarily took out mortgages to buy our houses. Sometimes it's worth it.)


2 Comments

Ovid
2006-09-14 09:45:19
Sounds like a nice technique if it's consciously applied. For a small team where there's lots of trust, I'd be game for it. The problem I see is that it's a two-step process. In corporate environments, step two is often given the axe.
chromatic
2006-09-14 10:14:50
Ovid, I think it's more a sign of an immature development process than a corporate environment. Otherwise, it's ignorance of technical debt (and especially social technical debt) and the need for repayment, and that's a pretty standard project risk factor.