Making the Case to Kill €35K of Tech Debt


Hi,

today we’re talking about a problem I’m faced with right now — technical debt.

My manager asked me: “How can we position paying down technical debt to leadership?”

Because even if you have wizards for developers, sometimes we all make trade-offs. And those trade-offs stack up.

If this sounds familiar — this issue is for you.

Today in 10 minutes you will:

  • Understand what technical debt really means (and what it doesn’t)
  • Learn how I measured it on a real product
  • See how I calculated the cost of keeping vs. rebuilding
  • Use AI prompts to assess your own debt

🧱 What Is Technical Debt?

Technical debt is the consequence of prioritizing speed, constraints, or client value over long-term code health — and eventually needing to pay the price.

Examples:

  • Prioritizing tight timelines over architecture
  • Customizing for one client at the expense of others
  • Skipping testing
  • Writing poor code or infrastructure setup
  • Running broken or manual change management processes

But not all technical debt is bad. Most teams carry some.

The question is: How much is it costing you — and when will you have to pay?


📌 My Real Example: Modernizing a Monolith

For 20 years, our org built everything as monolithic apps.

Now, my product introduces REST APIs and helps decouple them into microservices.

Sounds good in theory, right?

But that “decoupling” is basically a rewrite. And rewrites are expensive. Especially when the value isn’t immediately visible to customers.

So… how do you make a case for it?

💡 Our Approach: One App as a Test Case

We picked one struggling app with serious tech debt and ran a proof of concept. Here’s what we looked at:

The Problem:

  • 10 Production incidents/year
  • High testing effort — 1 full week × 4 times/year
  • Monthly manual upgrades that often fail
  • Slow performance for end users

The Cost of Keeping It Running:

  • Incidents: €7,750/year
    10 × €775 = €7,750 (L1–L4 engineers, one day each)
  • Manual Testing: €3,600/year
    4 weeks tester (€3,000) + PM time (€600)
  • Upgrades: €1,300/year (DevOps, QA, PM time)
  • Slow Performance: €22,875/year
    50 users × 5 mins/day × €25/hr = €22,875

Total yearly cost of technical debt: €35,525

🔁 Cost of Rebuilding

We estimated ~6 months of effort from a small team (PM, Backend, Frontend, QA, DevOps, Architect).

Estimated rebuild cost: ~€97,000

So...Is It Worth It?

If we keep this app more than 2–3 years, yes.

Because what we’re buying is:

  • Fewer incidents
  • Faster delivery
  • Happier teams
  • A future roadmap without legacy blockers

🧰 Other Ways to Calculate Tech Debt

You don’t need to run a full cost breakdown like we did. Here are other ways to assess:

  • % of incidents caused by legacy code
  • % of time spent on maintenance vs. new features
  • Developer satisfaction or burnout signals
  • Time-to-onboard new developers

Even directional metrics can make a strong case.


🤖 Use AI to Help You Make the Case

Want help analyzing your product’s technical debt?

Try these prompts:

“Act as a senior software architect. Our product has [describe context]. What technical debt is likely present, and what is the long-term cost if we don’t fix it?”
“Help me structure a business case to refactor or modernize a legacy product. Include cost, risk, and team impact.”
“What are ways to visualize the value of tech debt reduction to non-technical stakeholders?”
“In our case, would you prioritize refactoring or building new functionality? Why?”

💬 Your Challenge This Week:

Pick one piece of technical debt in your product. Ask:

  • What is it costing us annually?
  • What’s the cost to fix?
  • Is it worth it?

Even if the answer is “not yet,” just having the numbers = power.

Until next week,
Maria

Behind the Scenes

The last two weeks I was on vacation in Italy. You might’ve noticed I was quieter than usual on LinkedIn — I planned to stay active, but… wine and pasta won. 🍷🍝

New favorite place? Florence. If you’re planning a trip, go. It’s beautiful, full of culture, and yes — I’m now addicted to truffle pasta.

What do you think?

Did this newsletter help you help you understand technical debt a bit better?

Hit reply and let me know — do you love it, hate it, want more of something else?

Looking forward to hearing from you,

Maria

Frankfurt am Main, 60311, Germany
Unsubscribe · Preferences

Maria Korteleva

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.

Read more from Maria Korteleva

Hi Reader, Have you ever felt like your team is doing CI/CD wrong? What if what's wrong in one context is exactly right in another? Theoretical CI/CD content online always shows the most advanced picture. But we live in a different reality. So let's talk about what our realities actually are, and how you can improve yours. Today in 10 minutes you will: See the 5-question checklist I use to score any delivery pipeline Walk through seven real pipelines, from zero automation to fully automated...

Hi Reader, Every internal product manager wants to build. We're action driven. It feels like our core competency. But put that feeling aside for a second. In a lot of scenarios, buying, not building, is the right call for your context. If you want to learn how to assess this properly, stick with me for this one. Today in 10 minutes you will: Understand why build vs buy gets skipped, even when it shouldn't Learn the 7 steps to run a proper build vs buy assessment See how those steps play out...

Hi Reader, Have you been wanting to refresh your knowledge of databases? Maybe even get your hands on the keyboard, create one, and run a few simple queries? If so, I must have READ YOUR MIND. Because today, that's exactly what we're doing. Today in 10 minutes you will: See where a database actually lives inside an app Learn the difference between relational and non-relational, minus the jargon Understand ACID, translated into plain human Create your own free database and run your first...