Yet another 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­tual con­se­quences a soft­ware devel­op­ment orga­ni­za­tion incurs when it chooses to do things the quick and dirty way, which ben­e­fits the short-term but increases com­plex­ity and ulti­mately is more costly 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 payments.

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­nesses incur some debt to take advan­tage of a mar­ket opportunity.

Ref­er­ences:

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

Share

Leave a Reply