Skip to main content

The Product Manager’s Guide to Managing Technical Debt

October 3, 2023

11 minute read

Managing technical debt is a problem that came into existence about ten seconds after the first piece of software was written, and it’s one that will never really go away no matter what you do. After all, that’s why everyone talks about “managing” it, rather than getting rid of it entirely. 

As a product manager, you’re there to drive the development and success of your product. Working with a range of cross-functional teams, you’re the one setting priorities, and making critical decisions that impact the product’s direction. That’s why you need to know what tech debt is, how much you have, and the best way of getting it under control. Because it’s critical, and it will impact your product.

It’s not sexy – you’re not going to be dazzling people at your Retro meetings when you report back on how you’ve reduced your technical debt. Just like no one trumpets on their social media when they’ve paid off a loan. What you will be doing, though, is making your life and the lives of all of your devs a lot easier in the long run.

Perhaps you made an MVP and it just kept on growing. Maybe you’re taking over at a new job and your predecessor was a deadline pusher who rushed feature after feature out the door. Either way, chances are you’re working at one of the nearly seven out of ten companies that believe tech debt is stifling their ability to innovate, according to a survey by Protiviti.

That survey also revealed that the average business spends 30% of its IT budget (and 20% of its IT staff’s work time) dealing with technical debt. And those aren’t even all software development companies. If you’re building products, you’re probably going to be hit even harder by unmanaged tech debt.

As a product manager, you really need to know how to reduce your tech debt, and how to stay on top of it in the future. In this guide, we will explore what technical debt is, why it matters so much, and how you can effectively manage it to ensure your product’s long-term success.

What is technical debt?

Simply put, technical debt is the accumulating price you pay for taking shortcuts and making short-term trade-offs during the product development process.

It can build up when your development team prioritizes speed over quality, as a result of changing requirements and time pressures. It can also accumulate if you have less experienced team members who aren’t up to speed with best practice and your coding standards. 

Ultimately it slows down the work you’re doing now and bakes in problems for your dev work in the future. And, just like financial debt, technical debt incurs interest over time. The more it builds up, the more work will be needed to maintain and improve your codebase.

With all of that said, technical debt is not inherently bad. It can even be a prudent short-term strategic compromise when you’ve got to get something shipped quickly or you need to test the market and can’t hang about. But recklessly letting your tech debt build up without having a plan in place to deal with it is a recipe for disaster.

For a more detailed breakdown of what technical debt is, including the different types and causes, as well as the differences between prudent and reckless tech debt, take a look at our Glossary page.

A chart showing the quadrants of technical debt

Why does tech debt matter?

You might still be wondering why technical debt is a concern for product managers. After all, isn’t it the developers’ job to deal with code quality and architecture?

While the devs of course play a crucial role in preventing and managing technical debt, you as a product manager also have an important stake in managing it for several reasons:

  1. Impact on speed: Tech debt can slow down development over time. As debt accumulates, it becomes increasingly challenging to add new features or make changes to your product.
  2. Reduced productivity: Developers can end up spending more time fixing bugs and addressing technical debt than they do building new features.
  3. Reduced quality and reliability: Accumulated tech debt can result in a less reliable product with more frequent outages and issues. This can harm your reputation and customer satisfaction.
  4. Increased costs: As technical debt builds up, the cost of maintaining and improving your product rises with it. It can become more expensive to address technical debt later than to address it as it arises, or, ideally, to try to prevent it from increasing in the first place.
  5. Risk management challenges: Unaddressed technical debt poses risks to the long-term viability of your product. It can make it difficult to adapt to market changes or respond to competitive pressures.
  6. Stakeholder expectations: Stakeholders, including both your customers and executives, expect a product to evolve and improve over time. Failing to manage tech debt can lead to dissatisfaction and loss of trust.

Clearly, then, given all of the things that can go wrong if you don’t deal with it, you have a vested interest in making sure you’re managing your product’s technical debt effectively.

How to prevent technical debt as a product manager

What’s the best way to deal with tech debt? Prevent it from occurring in the first place!

By being aware of the causes and risks associated with it, you can make sure you’re minimizing the build-up of tech debt before it becomes a problem.

The first thing you need to do is to give your dev team space and time to build high-quality code. Instead of insisting that a feature is shipped, and shipped yesterday, understand that iterating takes time. Remember that failure is part of the process.

After all, building a product is more art than science. You’re making something that no one else has ever done before, and that takes experimentation to get right. That’s why we’re always eager to tell people about the Now-Next-Later roadmap. It helps you to get things done without forcing your teams to work to deadlines.

Ensure that your developers are working to agreed coding standards as early as possible. It’s one of the best ways to nip tech debt build-up in the bud. Consistency and best practices will go a long way toward reducing future problems with managing technical debt.

Build in space between releases for general code maintenance. That way the code base can be improved bit by bit, rather than letting it stack up so much that it needs a scary refactor down the line.

Code reviews will help too – ensure you’ve got multiple eyes on the code before it goes out the door. There’s a much better chance it’ll be high-quality (tools like SonarCloud can help to review code for issues like duplication before it’s released). This will help to keep new code congruent with the way the rest of your codebase works.

Proper documentation is also key to making sure that vital knowledge isn’t lost when members of your team move on. There are few things more frustrating and time-consuming than trying to untangle spaghetti code that only (barely) made sense to the person who wrote it in the first place. 

One last tip is to encourage your devs to follow the Scouts’ principle of tidying up the area you’ve been working in, even if it’s not your mess. You need to make sure you balance this, as you don’t want over-enthusiastic devs totally re-engineering each other’s work. Done right, it can be a useful way to mitigate the impact of newer or less experienced devs who are less familiar with the coding standards you put in place.

How to manage technical debt as a product manager

As a product manager, managing your technical debt is crucial to ensuring the success of your product. Tech debt can impede the product development process, impact your product’s performance, and have some significant and nasty consequences.

Again, this isn’t going to be the most fun part of your day-to-day. But getting it right now will save you a pile of trouble down the road. It’s also not actually that difficult, once you know what you’re doing!

Let’s dive in and discover the best ways methods for managing technical debt as a product manager.

1. Acknowledge that it exists

Admitting you have technical debt is the first step to dealing with it. By recognizing your technical debt, you can make informed decisions regarding your development roadmap. Then you can prioritize any necessary changes to your strategy.

Ignoring or neglecting your tech debt can lead to some real problems, both short- and long-term. You could end up with a slower rate of development velocity, poor code quality, a tougher job for your devs, and a general drop in productivity. Sticking your head in the sand won’t make the problem go away.

2. Prioritize how you’ll deal with it

Assess which elements of your tech debt impact the development of your product. You’ll need to factor in:

  • how it impacts your product’s performance
  • how it impacts the customer experience
  • your dev team’s capacity to work on it
  • the potential impact on:
    • financial costs due to increased maintenance costs and lower productivity
    • the opportunity cost of reducing your tech debt instead of working on something new

For loads of really helpful prioritization frameworks to help you identify what you need to work on now, next, and later, download our free guide here, or click the image below.

The definitive collection of prioritization frameworks

3. Consider including tech debt in your roadmap

It’s not always the best idea to include your tech debt-solving initiatives on your roadmap. It depends on both the scale of the work it’ll take to manage it, and your team’s day-to-day processes.

If it’s part of the strategy to tackle a particular chunk of tech debt, include it in the roadmap. If it’s business-as-usual code maintenance for your devs to continually put work into paying down tech debt, you don’t need to crowd your roadmap with all the intricate details. 

However, If it is a relatively large project that will impact things your users are interacting with, then it needs to be worked into your public roadmap.

At the end of the day, though, you should use your best judgment. Ask yourself: do the stakeholders reading the roadmap need to know about the work in question?

4. Talk with your devs

Making sure you have open and honest conversations with your development team is vital. After all, they’re the ones who know exactly what the problems are, and what it will take to fix them.

They’re also the ones most liable to burn out if you’re not managing your technical debt. Losing members of your team is a prime way to compound your problems. Your devs will probably be happier knowing that steps are being taken to improve the code, and that their opinions on the best way to deal with it are being listened to.

You might benefit from incorporating discussions about technical debt into your team’s retrospectives. Encourage team members to share their experiences and observations related to technical debt. Use retrospectives as a forum for identifying and addressing debt.

You could suggest they institute “platform days” (if they haven’t already). That’s when your dev team takes one day per cycle, month, or sprint to take on bite-sized pieces, either to gradually eat away at the debt, or to generally maintain the good code you already have. And, as mentioned above, regular code reviews can help make sure you’re adding less to your debt.

5. Monitor and measure

You need to know the scale of what you’re dealing with if you’re going to have a chance of taking it on. You’ll need to implement metrics to track technical debt over time.

This could include code quality, coverage and complexity metrics, bug counts, and the percentage of development time spent on addressing technical debt. Regularly review these metrics to assess your team’s progress, so you can adjust your approach as needed.

Automated testing can also help catch bugs early and prevent new technical debt from piling up. Ensure that your development team has all the tools and resources they need to implement robust testing processes.

6. Celebrate when your team reduces the debt

Acknowledge and celebrate your team’s successes in dealing with your tech debt. Credit where it’s due is always a good way to go. Everyone likes to know their hard work is appreciated!

It’s not just a morale booster though. It also highlights to the rest of your business the importance you place on dealing with tech debt. They might not even realize it’s a thing, let alone that it’s possibly one of the biggest challenges standing between your product and success.

Pay back your tech debt the smart way

Technical debt is like an ingrown toenail (sorry for the mental image!) – it cuts deeper and deeper, but does so slowly enough that you don’t really notice the pain. Then, suddenly, you realize your toe is big and red and gross-looking, and you’ve got to deal with a painful removal process.

So file and trim your nails before they become a problem, and keep an eye on how they grow. Prevention is always better than cure.

Sign up to our monthly newsletter, The Outcome.

You’ll get all our exclusive tips, tricks and handy resources sent straight to your inbox.

How we use your information

Leave a Reply

Your email address will not be published. Required fields are marked *