In my previous post, I talked about a establishing a debt payment plan. On Scrum teams, there are several approaches a team can take to pay down the debt.
- Debt Limit Trigger – Whenever our debt limit is reached, the team focuses the next Sprint on technical debt reduction
- Release Trigger – After every release, we dedicate a complete sprint to reducing technical debt and tackling items from the technical debt log.
- Rotating dedicated resource – At the beginning on each Sprint, a different team member is dedicated to tackling technical debt items.
- 20 percent time – Within each Sprint, the team’s capacity is reduced to tackle technical debt on an ongoing basis.
- Per Story – With each Story or Product Backlog Item (PBI) that is completed, the team tackles technical debt as defined in their Definition of Done for the PBI.
Newer, less mature teams will likely take approach 1 or 2. More mature teams will manage debt on an ongoing basis and likely pick between approaches 3, 4 or 5. It’s important to avoid creating separate teams, ones that work solely on new features and ones that work solely on reducing technical debt. This creates an environment of a fun team and the not so fun team. The fun team will have no incentive on writing good code if they know there is always going to be someone else following them to clean things up. We want the teams creating the debt to have to feel the pain of cleaning it up so that they don’t incur any unnecessary except for the prudent and deliberate type.
Scrum and Technical Debt Payments is the finale in a seven-part series on Technical Debt from Excella Software Development Lead Fadi Stephan.