It shows what happens when you keep shipping release after release without ever addressing the debt. Cost, complexity, and risk climb. Velocity, scalability, and resiliency drop. At some point the two lines cross, and the app becomes harder and riskier to work with than it is worth. The takeaway: left unaddressed, an application tends to need a real modernization roughly every five years.
|
In their research across 220 companies in seven sectors, the companies with the healthiest tech-debt scores (the top 20%) grew revenue about 20% faster than those with the worst (the bottom 20%), and about 10% faster than the average.
They also found that technical debt typically eats 20 to 40% of the value of a company's entire technology estate.
In plain terms: unmanaged debt is not just an engineering problem. It shows up in the numbers the business actually cares about.
That is the industry view. If you want to see what this looks like on a single product, I once put real numbers on it: around €35K of yearly cost on one app, and how I used that to make the case to leadership.
→ Making the case to kill €35K of tech debt
Not all debt is the same. Knowing the type helps you talk about it clearly with your team.
→ Code debt. Messy, duplicated, or hard-to-read code. The classic "we will clean this up later" that never gets cleaned up.
→ Architecture and design debt. The structure of the system itself holds you back. Think a monolith that cannot scale, or services tangled so tightly that one change ripples everywhere.
→ Testing debt. Low or missing test coverage, or fragile tests. Every release becomes a gamble and a lot of manual checking.
→ Documentation debt. Little or no record of how things work and why. New people onboard slowly, and knowledge lives in just a few people's heads.
There are others, like infrastructure and dependency debt, but these four cover most of what you will run into.
You probably will not run these tools yourself. But knowing they exist helps you ask sharper questions and understand what your engineers show you.
Grouped roughly by what they look at:
Tools like SonarQube scan the codebase for bugs, code smells, and maintainability issues, and can even express debt as an estimated "time to fix." CodeScene takes a different angle, using your version history to find hotspots: the code that is both complex and changed most often.
Tools like Snyk flag known vulnerabilities in your own code and in the open-source libraries you rely on.
Tools like vFunction and CAST analyze the structure and dependencies of larger systems to show where architectural debt is concentrated.
Test coverage reports show how much of your code is actually exercised by tests, which is a decent proxy for testing debt.
Monitoring and observability tools (Datadog, New Relic, Grafana) will not say "this is debt," but they show you where debt hurts: errors, slow endpoints, repeat incidents.
Two more low-tech approaches that work surprisingly well:
→ Ask your engineers. A simple session where the team marks the parts of the system that scare them most will surface debt no scanner can. They know where the bodies are buried.
→ Track it in your backlog. Make debt visible. Create tickets for it, label them clearly, and reserve a slice of each sprint to pay some down. Debt you cannot see is debt you will never prioritize.
No tools needed. Read each statement and tick the ones that sound true for your product right now.
Small changes often set off unexpected changes somewhere else.
→ A routine upgrade or dependency bump turns into a full project.
→ Releases feel risky, and we lean on a lot of manual testing.
→ There are parts of the code the team quietly avoids touching.
→ We get repeat incidents or slow performance that never quite get fixed.
→ Getting data in or out, or integrating with other systems, is painful.
→ New developers take a long time to become productive.
→ If one key person left, a lot of "how it works" would leave with them.
Now count your ticks.
→ 0 to 2: Healthy. Keep an eye on it, but no alarm.
→ 3 to 5: Moderate. Worth putting a plan together before it grows.
→ 6 to 8: High. Time to make the case, and you have the numbers above to do it.
One last thing: look at which statements you ticked. They point to the kind of debt you carry most, whether that is code, architecture, testing, or documentation.
What do you think? Did this make technical debt feel a little less scary? Hit reply and let me know — do you love it, hate it, want more of something else? See you next week, Maria |
Hi, I’m Maria. For the past 7 years, I’ve been building internal products across FMCG and tech companies.Now, I share everything I’ve learned to help junior PMs master delivery from technical skills to stakeholder communication. Join 200+ Internal PMs who get weekly insights from the Build Internal Products newsletter.
Hi Reader, today is another story from the battlefield. The kind of work that doesn't feel exciting, but the kind that saves you from a disaster. Literally. Do you have a plan for when something goes seriously wrong with your product? A database gets overloaded. An API goes down. A cyberattack hits. A critical integration just... stops working. What do you do? That's what we're talking about today. Today in 10 minutes you will: Understand what disaster recovery actually means for internal PMs...
Hi Reader, Do you love politics or hate it? Or are you just wondering why you have to deal with it at all? You just want to get the work done. Here's the thing: internal product management is infamous for it. But there's a way to play the game without feeling like you're playing it. And the answer starts with how you see it. Today in 10 minutes you will: See what it looks like in internal PM through real scenarios Reframe your mindset so you stop avoiding it Get practical tools to navigate it...
Hi Reader, There is one thing that separates a PM who follows the flow and just builds from the PM who owns the business outcome. It's knowing your Total Cost of Ownership. And having a clear cost recovery strategy. PMs who know what their product costs the business, and actively work to optimize it, are the ones the business will fight to keep. Everyone else is just floating. If you want to be in the first group, this issue is for you. Today in 10 minutes you will: Understand what TCO...