Manage technical debt: How to shine a light on issues in your code base

This post likens accumulating technical debt to financial debt. There are nuances to this metaphor but it helps us visualize and understand technical debt.

  • Technical debt is accrued because of the changing nature of software products. Since software is a virtual system, most users don't know what they want till they see an initial version. After that point, modifying the codebase is like building a skyscaper on the foundations of a 2 storey-house.
  • Symptoms of technical debt include: bugs, performance or quality issues, speed of feature delivery, burnout in the team. Keeping an eye out for these symptoms helps us bring the issue to the forefront.
  • One suggested way to reduce technical debt is to keep swinging between feature addition and software improvement. This ensures that the software always has some breathing room for growth.
  • Notice the symptoms and allow the engineering team to front-load the cost of fixing the issue. For example, if the ops team is awake most nights, instead of adding a new feature, work towards fixing the root cause of their nightmare. This builds a culture of quality-first.
  • Technical debt is everyone’s problem, and once you surface the issues, fixing them is far easier.

Full post here. 7 mins read