#Issue137
2 posts

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.
Read more

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

Is High Quality Software Worth the Cost?

The trade-off between quality and cost doesn't exist in the software world. Counter-intuitively, higher quality software tends to be cheaper in the long run. This article explains how to put quality, cost of ownership and technical debt into perspective.
Read more

Is High Quality Software Worth the Cost?

The trade-off between quality and cost doesn't exist in the software world. Counter-intuitively, higher quality software tends to be cheaper in the long run. This article explains how to put quality, cost of ownership and technical debt into perspective.

  • Software quality is divided into external (can be seen by the user) and internal (code architecture).
  • Internal quality, even though invisible, makes is easier to enhance the software and push releases much faster. The cost of adding a new feature or fixing a bug is termed as technical debt.
  • High quality software always pays an initial upfront cost in order to get the code architecture or design right. Over time, the ROI on a well designed codebase is much higher.
  • The best software teams end up creating technical debt. This is largely attributed to developers never solving a new problem with each product. To deal with this cruft, great teams write automated tests and continuously refactor to fix issues, keeping it at a manageable level.

Full post here. 14 mins read