Does your technical debt backlog look endless? Are you thinking about pausing feature development to resolve technical debt? Stop. What if you were told that a good chunk of your backlog can simply wait? Technical debt can seem overwhelming when we look at it as a loosely organized list. This can lead to several anti-patterns in how we deal with them. This session shares strategies that have been used to identify high priority technical debt items to make sure we are able to continue feature development while improving code health.
- Problem Statement: Technical debt often accumulates until productivity takes a serious hit and then as a knee-jerk reaction we try to clean it up all at once. At this point, there is just one large list of issues with a loose sense of priority. This gives the impression that you have a huge backlog. This can lead to many anti-patterns:* Chicken and Egg Problem – Too much Tech-Debt, so feature development is slow. Since feature development is slow, we cannot set aside time to fix issues.
- Fixing the wrong issues – In the larger scheme of things, it may be counter-productive to fix low priority issues just because they are easy.
- Pausing Feature Development – Approaches such as “”Technical Debt Sprints”” where we pause features to resolve tech-debt are not sustainable even if they offer some short term benefits.
- Local Optima – Patchy cleanups which lead to uneven code health across the code base.
Solution: Understand the impact of each technical debt it at Block, Category and Item level to narrow your backlog to those issues which matter. While there are several tools that help us identify technical debt it is up to us to map our context on those issues. Learn how to visualize, triage, prioritize and strategize in order to get a realistic view on your technical debt.
Video producer: https://agileindia.org