Why do businesses need that pesky thing called revenue generation anyway? If it were all about code fidelity, developers could just focus on building and refactoring and everything would work out fine. As Jeff Atwood explains, sometimes it is necessary to spend some time refactoring, if only to pay down that equally pesky occurrence known as technical debt.
What is Technical Debt?
Technical debt is the presence of bug-ridden or unstable code that accumulates during the normal design process, or more commonly during a sprint to meet project deadlines. Just like the debt on your credit card, technical debt is okay in small amounts. In fact, if a little quick and dirty code gets your project delivered on time, it’s well worth the lack of effort – not that your team is being lazy, they’re just working with the bottom line in mind.
However, as many are well aware, debt becomes a serious problem only when it becomes a habit. Over the long term Atwood recommends refactoring at established checkpoints to keep the team’s technical debt from soaring too high. Keeping with the debt analogy, technical debt accumulates interest, and anyone who abuses their credit cards knows the evils of interest! At some point, if the development team doesn’t recognize where all the technical debt is headed, they’ll be up to their waists in refactoring activities with no time left over to create new product. In other words, they’ll be stuck paying down the interest of accumulated cruft.
Break Things if You Have To
Enough technical debt can be a true disincentive to work on a project. By paying down the principal, the development team can avoid reworking a big exhausting pile of code. Atwood endorses a dauntless approach to debt:
When it comes time to pay down your technical debt, don't be afraid to break stuff. It's liberating, even energizing to tear down code in order to build it up stronger and better than it was before. Be brave, and realize that paying your technical debt every so often is a normal, necessary part of the software development cycle…
To read the full post, visit: http://blog.codinghorror.com/paying-down-your-technical-debt/