Managing technical debt, once and for all

“Managing technical debt, once and for all” on HPE.com, October 15, 2018.

Sometimes it’s a more ingrained, systemic problem. Development processes may be weak, or the company may prioritize budget over all else.

Often, it’s because developers simply don’t want to spend time on tasks that are boring or routine, like maintaining the application stack, instead of building new features,” says Alan Zucker, founding principal of Arlington, Virginia-based Project Management Essentials. “Had Equifax patched those servers, for example, we wouldn’t have had the greatest breach to date.”…

Paying down technical debt is challenging, but it’s certainly achievable.

Many developers prefer to refactor code instead of completely rewriting it whenever possible. Refactoring is a regular and continuous maintenance of the application, wherein the team regularly improves the application’s performance without changing its underlying functionality. In contrast, a rewrite is usually a fundamental change in the code, including a change in the functionality. “Think of refactoring as changing out your old incandescent bulbs for LED bulbs; a rewrite would be changing out the light fixture,” Zucker says.

Refactoring is an especially useful tactic for older code bases that grew unwieldy and complex over the years. Refactoring can make the code more succinct and help decouple features. This helps prevent the problem of inadvertently breaking other parts of an application during a code rewrite.