Managing Technical Debt
Matthew Zammit
Head of Product at Binderr / Advisor for Tech Startups / Helping Startups build, grow and scale
Hey there, and welcome to the 5th edition of the "It Depends" newsletter.
If you're new here, every week we explore topics around Product, Growth and Startups.
let's go ??
Managing Technical Debt
You'll frequently hear me say that intentional Technical Debt can be a good thing.?It helps you move faster without over-optimising.
But most tech teams believe that the only correct amount of tech debt is exactly zero.
So where's the balance?
Technical debt is neither good nor bad in itself, but if you let it accumulate over time it’s going to:?
On the other hand Technical debt is particularly useful in early-stage startups still building their basic product and looking for Product-Market Fit.?
What's the point of having the most optimised codebase and then having no customers? or What's the point of the most efficient database when there's no revenue?
But the reality is that technical debt eventually catches up with you and slows you down… or worse, something breaks and you'll have no clue how to fix it.
So, what can you do as a Founder or PM to work with your engineering team to manage Technical Debt and prevent it from accumulating beyond control?
Let's explore a few ideas:
1. Slow down and spend more time
This might not be possible, and it’s probably the reason why you have tech debt in the first place. Slowing down will allow you to plan, write better code and test it properly. To limit shortcuts and bad practices, plan reasonable workloads for your sprints.?
2. Break features down into smaller pieces
Scoping features into smaller deliverables allows you to manage each part in more detail. This way you focus on smaller scopes and probably introduce less debt. Things can be improved over time and debt reduced as you revisit a feature to add more to it.?
3. Look for quick wins
It is simpler to manage technical debt when you know exactly what needs to be done and particularly if it can be done quickly. This can be as simple as documenting a process, fixing a small bug, retiring a feature or preparing for the next release. Quick wins make debt feel more manageable.?
4. Regularly budget time for housekeeping
Someone told me they do 3 dev sprints followed by 2 technical debt sprints. That’s probably way too much! But you can still dedicate time to catch up on debt as you go along as part of your weekly dev process.?
5. Write tests along with your code
Writing tests will help you create more maintainable code. Even if the code is messy, these test cases can essentially act as basic documentation which takes you through what it’s supposed to do. Ideally, have automatic tests as part of the full thing, but that might not be possible if you’re going at 150%.?
6. Track your Technical debt
Log the technical debt and prioritise it as part of the planning process. This should be part of your backlog. If it’s not written, it will not get done. I typically find that putting these as part of the backlog, particularly if very granular, they are the perfect task for when someone needs a break and needs something easier to work on.?
7. Make it part of the conversation
Speak about technical debt at all levels. PMs should expose this reality to other business areas. Making it a recurring topic of conversation in planning meetings helps keep the focus on long-term improvements and scalability. What will this shortcut save us? And what might be the challenges for later??
8. Have a KPI tied to basic product expectations
Have specific objectives around load times or other metrics that can only be improved by addressing performance and technical debt. This gives a business incentive to tackle the debt. And makes the conversations easier to have as it won't be something which "just the engineers want to work on".?
9. Reward the process of reducing debt
If we want a team to prioritise technical debt, it needs to be just as important as building something new. Have those conversations around debt, measure a related KPI and celebrate when you get performance wins.?This means leadership needs to get on board with how important it is to pay down your debt, and performance reviews and bonuses should factor in code debt wins.
10. Do an entire large refactor
Sometimes you’ve just accrued way too much technical debt and the only realistic option is to just rewrite everything from scratch. This often happens in early-stage startups after having built a number of MVPs and it’s now time to scale. Rebuilding might be what’s required to be ready for the next phase of growth.
领英推荐
Conclusion
Technical debt is part of a normal software lifecycle. And it is not explicitly bad, only uncontrollable technical debt is bad.
The core of the issue is in culture and communication. Spending time on tech effort must be a conscious decision.
So manage it properly.
Just for fun and some stuff to click on
?? I'm mentoring at the PitchBlack startup competition . Top Prize of €110k in services.
?? Been reading a lot on PLG and this is a brilliant guide: Your Guide to PLG Pricing
???The final trailer for DUNE: Part 2 looks fantastic
Update your LinkedIn profile!
Two weeks ago, I had a free Friday morning and casually posted that I was going to spend a few hours giving feedback on LinkedIn profiles.
I expected maybe 15 people to reply and then I could go on to cook lunch and move on with my day. But the LinkedIn algorithm gods started spreading this post and, yeah, it was impossible to finish them all.
Two weeks later, nearly 700 requests and I’m still trying to catch up. At this rate, if I spend just 5 minutes on each profile it would take me 3,500mins… that’s 58 hours straight… which means 10 full work days… totally not doable!… I have work to do and a life to live! ??
So, here are 2 things you can do today to improve your profile:
1. Sort through the comments that got a reply on the original post and see what you can learn from them. There's a lot you can apply from the feedback given to others.
2. If you still want a personalised review, I have a Profile Review service . And the first version is very affordable. There are 3 options:
- Basic: quick feedback to get you started
- Detailed: going in-depth, section by section on your profile
- Advanced: Everything in the Detailed package + a 1:1 call
Content recap from this week
The Discovery process is about confidence.
The Discovery process is not there to tell us what to build.?We do not prove an idea. But rather, we gain confidence in a direction... Continue reading
Be profitable and survive
Practically every founder I spoke to over the last 4 weeks is now trying to become profitable with the resources available... Continue reading
Get out there and kill something
Planning and documenting is good, but at some point, you need to get your hands dirty. Build something, take it to market... Continue reading
Managing technical debt (carousel)
10 ways to manage Technical Debt and keep it under control. Explored from a Founder or PM perspective... Continue reading
Work with me
Whenever you're ready, there are 4 ways I can help you:
That's all for this week. My inbox is open if I can help you.
speak soon ??
Matthew