Buzzword Buster – Technical Debt

Yet anoth­er recur­ring phrase on DotNetRocks’s pod­casts, and a catchy one at that! The term ‘tech­ni­cal debt’ was coined by Ward Cun­ning­ham to describe the even­tu­al con­se­quences a soft­ware devel­op­ment orga­ni­za­tion incurs when it choos­es to do things the quick and dirty way, which ben­e­fits the short-term but increas­es com­plex­i­ty and ulti­mate­ly is more cost­ly in the long term.

Tech­ni­cal debt incurs inter­est pay­ments in the shape of extra effort required for future devel­op­ment, but can be paid down by refac­tor­ing the quick and dirty design into bet­ter designs. It costs to pay down tech­ni­cal debt, but you gain by reduc­ing future inter­est pay­ments.

Tech­ni­cal debt is almost unavoid­able in any real-world devel­op­ment project, and some­times it may be sen­si­ble to incur some tech­ni­cal debt in order to meet an impor­tant dead­line just as busi­ness­es incur some debt to take advan­tage of a mar­ket oppor­tu­ni­ty.


Steve McConnell’s in-depth look on tech­ni­cal debt

Cod­ing Horror’s arti­cle on pay­ing down your tech­ni­cal debt