People do not like debt but somehow we will be in debt once in our life. When you are in debt, if you do not manage it well, you will have to pay big interest in future. Software Development also has debt and it's called Technical Debt.
What is Technical Debt?

Technical debt is a cost you need to payback on reworking or refactoring when you choose a solution easier or faster instead of choosing a better solution but take more time.

NOTE: Technical Debt is not your Undone Works.

There are 3 kinds of Technical debt:

- Naive Technical Debt
- Unavoidable Technical Debt
- Strategic Technical Debt (With this kind of Technical Debt some time you don't need to payback or it's a good option to trade-off to get the business opportunity. I will share more on Part 2 of this topic.)

(see more at

Keep it on track

Tracking Technical Debt is important, if not you will be shocked by what you must pay back. I suggest you should track and maintain your debts tracking list to have an action to pay before it's too late.
1. Tracking at Business level:

  • Financial reporting: I love to include/ update technical debts in my Business plan. By this way, Technical Debt will be transparent, list them and count on cost must payback and compare with other options for Pros and Cons, so you have full picture with how much you need to pay with all of your options.
  • Velocity: number of Technical debts relates to velocity, take technical debt to speed-up, but actually will make you down, you need to track your list out and payback in right time before it makes you slow down and effects to the opportunity to release to market.
2. Tracking at development level:

  • Technical debt in Code: bad coding, need to track and clean up asap. (E.g Copy and reused code is fast but can lead to taking more time to refactor...)
  • Track Technical debt on your bugs list: Track it once you trade-off with hot-fixed, Hot-fixed can be fast, to fix some critical bug you can hot-fix but you will need to look into the root cause to payback later, keep this in you debts list.
  • Make Technical debt visible in Product Backlog or use Technical Debt Backlog to make it transparent and keep track.
  • Have Technical Debt backlog: I love this way to manage and track Technical Debt. Every time your team can post any into that backlog if they found that is Technical Debt. Later, a team can look back on that at Sprint Planning.

NEXT POST: How to deal with and payback Tech Debt.

#TechDebt #Technicaldeb