12 dark secrets of technical debt

Software development is never done. Whatever feature requests that fall by the wayside or later crop up become an amorphous, hard-to-define debt with payback rules all its own.

12 dark secrets of technical debt
Thinkstock

In the beginning, programmers didn’t worry about the past. They opened an empty file and created something out of nothing. Everything was a green field.

Those freewheeling, unencumbered days are long gone for most of us. Much of software development today is revising, extending, enhancing, and evolving what we — or more often, someone else — did before. Enter technical debt.

The term technical debt is a useful way to refer to something left undone. The debt is that we now have to go back and make right, either by fixing or filling in the gaps, what we did last week, last month or even years before.

In the planning phase the term is a good shorthand for work that is often forgotten. Stakeholders are already churning out lists of new features and enhancements, but if someone doesn’t push back, all of the older enhancements will never reach their full potential. They’ll be forever hobbled by missing or broken code that fails at the wrong time.

The tricky part of the phrase is the word “debt,” which denotes an obligation, an indenture, sometimes moral and sometimes legal. Debtors’ prison may be long gone, but in the software world technical debt can be a kind of prison all its own — if it can’t be ignored.

To continue reading this article register now

7 secrets of successful remote IT teams