Tech debt days
📌 Tech debt is a vast topic. Books have been written on the subject, and tons of ways teams tackle it. If you run a team with lots of legacy code, chances are you have significant tech debt. This post describes one way to pay down tech debt that has worked for me (in addition to budgeting in time every sprint), and could work for you.
If you’ve never tried running “tech debt days” for your team, I highly recommend you do. Think of them as dedicated time away from day-to-day projects where you get to Marie Kondo your codebase. Trust me, it feels just as great as spring-cleaning your perpetually neglected, over-stuffed closet!
It’s not just all feels though. It’s a great way to recharge your team, help make them more productive, make the software more performant, reduce bugs, etc.
Running tech debt days
The last time I ran tech debt days, we started the day having breakfast together as a team, followed by reviewing a list of ideas we had previously shortlisted.
Each engineer picked an item from the list they were most excited by and talked through it before getting cracking.
In the afternoon, we stepped out for lunch and a walk — walks work wonders for problem-solving, by the way. Of course, everyone was in a food coma when we returned, but after some coffee we refocused. We ended the day with beers and playing some games.
Impact
Over the following couple of days, each engineer wrapped up their item and summarized the impact in a consolidated document.
As a group, we had removed 1000s of lines of dead code, removed dozens of feature flags, consolidated code and downsized server resources ($$).
What a win!
Learnings and Tips
- We found that most tasks spilled onto the next day. Some changes were not deployable in the same day. Some needed more testing. Some were just incomplete. Being flexible on the timeline kept our stress low and made the experience enjoyable.
- Shortlisting ideas ahead of time was clutch. We didn’t waste time brainstorming the day of, which also help avoid recency bias.
- The rapid-fire 5 minute description of each idea was key to getting everyone excited.
- Pre-budgeting for this in our quarterly plan helped, and leadership had no hesitation about the investment.
Now as we look towards the future, my team is excited about our upcoming tech debt days, which will run over 2 days so we can accomplish even more 🙌🏽.
The learning continues in…
- All chapters — The Engineering Manager’s Pocket Guide
- Chapter 14 — Cadences — engineering manager time horizons
- Chapter 15 — Beyond the Feature Factory
- Chapter 16 — Empowering independent thinking
- Chapter 17 — Managing managers — what changes?
- Chapter 18 — Manager of managers — Leverage is a double-edged sword
- Chapter 19 — Manager of managers — Outcomes over output
- Chapter 20 — Code ownership in flux
- Chapter 21 — Tech debt days
If you have any thoughts or experiences to add, let me know! Respond to this post or let me know on LinkedIn. I’m happy to talk about anything software engineering related.