Search
Logo
The Modern Leader
Sign Up
Login
Posts
About
Leadership Lab
Courses
All Access
  • Home
  • Posts
  • The never-ending battle of technical debt

The never-ending battle of technical debt

And how to advocate for its destruction

calendar-blank

Aug 20, 2024

•

clock

4 min read

Happy Tuesday! Rumor has it Pumpkin Spice may be back this week or next… but most importantly, college football is nearly back.

The big picture

Ah, technical debt: the silent productivity killer in software development. It's the stuff we know needs fixing but never seems to make it into the roadmap. Let's dive into how to manage it effectively in an agile environment.

Why it matters

  • Ignored tech debt leads to missed deadlines and declining product quality.

  • It demotivates your team, especially when they see issues they want to fix but can’t, or the tech debt is so bad it makes coding difficult

  • As your company grows, unaddressed tech debt can become a major bottleneck. You’ll find yourself building new features on an unstable foundation.

Here’s a real life example…

We once faced a classic case of intentional technical debt at my company. We were racing to get a new product feature into beta and decided to skip server-side pagination to save time. Our thinking was simple: get a proof of concept out quickly and into the hands of customers for feedback. It worked, and customers started using this feature more frequently.

Exciting! But success brought its own challenges. As usage grew, we found ourselves attempting to load thousands of items on page load. Customers waited in frustration, and our engineering team cringed every time they had to work with that part of the codebase. What started as a time-saving decision had become a painful reminder of the trade-offs we'd made. It was time to pay back our technical debt, with interest.

How to balance tech debt with feature development

  1. Try to allocate 10-20% of each sprint to tech debt tasks—and protect this time! Tech debt tasks are often the first to get cut in favor of something else deemed more pressing.

  2. Include tech debt in your "definition of done." If for whatever reason it gets cut, make sure it gets noted down so nobody is surprised when it comes back up again.

  3. Use sprint/project retros to identify and strategize about tech debt. The more you talk about it (especially with folks not in engineering), the more other teams will recognize its importance.

Communication is key

  • Use metrics and visuals to quantify tech debt (e.g., code complexity, test coverage). This is especially helpful for convincing a non-technical audience about the importance of addressing technical debt.

  • Build a business case explaining how tech debt affects long-term product health. Keep talking about it!

  • Set expectations: Tech debt management is ongoing, not a one-time task. As much as we would love for this to be the case…

The bottom line

Treat tech debt as a priority and integrate it into your development workflow. It may take some explaining, but the value will speak for itself with each completed sprint.

🔮 What's next

In our ETA Friday newsletter for All Access Members, we'll dive deeper into strategies for quantifying tech debt's impact on team productivity and customer satisfaction. Don't miss it!

SOMETHING EXTRA:

📺 This is some high quality television for engineers. Check out Jason Lengstorf’s most recent Web Dev Challenge episode. You don’t want to miss it.

📚 A little outside my normal book recommendation… I recently finished reading Says Who? by Anne Curzan.

  • If you’re interested in the nuances of grammar and how the world came to accept “they/them" as a singular pronoun, you’ll enjoy this. I sure did!


Reply

or to participate

Get more insights like this


Join 5,000+ engineering leaders getting practical frameworks every Tuesday.

Subscribe
Want to work together?

Here are three ways we can keep the conversation going:

Level up with All Access

Get monthly leadership playbooks, tools, and private audio. Everything you need to lead with more clarity and less chaos.

Join a course

Prefer a structured deep dive? My live and self-paced courses give you frameworks you can use today.

Book a 1:1 session

Need a second brain on a tough situation? You can book a focused advisory call right through the site by booking here.

Keep Reading

No posts found

Content

All Posts

Communication

Leading Teams

Frameworks & Systems

Mindset & Growth

Career & Visibility

Courses

Eng Leadership in the AI Era

Management Fundamentals

Tough Conversations

Connect

Leadership Hotline

LinkedIn

Bluesky

Email