Technical Debt Management for Long-Term Quality | Martin Hinshelwood
📍 📍 Technical debt is a huge problem for, for organizations. I want to quickly define technical debt. Technical debt is
Future costs that you incur when you or your team prioritize quick short term solutions over more robust long term approaches. Right? So anytime you, you make a choice to do something fast but wrong, because you need it fast you’re, you’re introducing known, you’re knowingly introducing technical debt.
You can also unknowingly introduce technical debt, i. e. we made some architectural choices, they were good choices at the time, but now they’re no longer good choices. Technical debt can appear over time. I’m thinking of a transaction system and we supported x number of transactions per second and our platform of choice was reasonably priced, was able to support Well beyond what we thought we were going to transact, but now we’re transacting a lot more than that, and we’re reaching the limits of the system that we chose.
A great example. A great example of that is the Azure DevOps team when they originally envisaged Work item tracking fields. So a, a, a, a work item was a row in a database and fields were a column. And those of you who are software engineers have already figured out what the problem would be with that, in that you can only have 1024 columns in a SQL database.
So they, they, not quickly but they did hit limitations on the number of columns that you could have for custom fields. Because who would have more than a thousand fields on a work item? But yeah, people do, they do exist and people do that, and it was a thousand totally within the system.
So they thought we’d never have a thousand fields. Or somebody made that decision just like the two digit date decision back in the day. So they had a lot of work to go back and refactor, not just refactor the system, but write the capabilities to refactor the data on upgrade for their customers into a format where each field was a row right in a database rather than a column.
So then you have unlimited capability for fields and data. And those types of decisions either knowingly made decisions that result in something that’s not not quite the way it needs to be or unknown ones are where most it needs to be. Technical debt comes from there are other issues that people call technical debt, which aren’t necessarily technical debt But most people lump it all together and say technical debt.
I think I often do as well And that’s i’ve written bad code and shipped it That’s not technical debt, that’s incompetence, right? So, so, within the context of a competent team, there’s known technical debt and unknown technical debt. But there’s another thing that we call technical debt, which is just chipping bad code making poor choices.
Knowing that they’re poor choices and not doing anything about it, right? Shipping bad code stop shipping stop shipping bad code would be the way you pay that one back but for technical debt, You need to pay it back. You need to prioritize paying back that technical debt Think of it more as an unhedged fund rather than a debt like a credit card most debt is secured against something secured against an asset.
If you stop paying your mortgage then the bank comes and repossesses your house and gets their money back, right? And maybe you get some leftovers because you’ve paid some of your mortgage. But who’s, who’s insuring Your product quality. Who’s insuring your product against your technical debt?
There’s no insurance. It’s uninsured From from from that perspective and nobody can magically come along and pay back all the all the debt. It’s not insured at all Or sell something and pay back. We claim an asset. So It’s something you’re going to have to deal with and you can’t like get out of control and there’s a lot of unknown technical debt.
I mean, that’s, that’s like, I mean, I use the Azure DevOps team a lot as an example, but they’d been a waterfall team for many years shipping once every two years, and then they moved to a more continuous delivery three week model. And they found that they made lots of poor decisions, right, that didn’t, weren’t necessarily poor decisions within the context of two year, but they couldn’t really see the impact of the technical debt, the choices that they’d made, deliberate and non deliberate, right, on, on their ability to deliver product and their ability to deliver value.
But I have a, I have a, I have a graph of, I think it’s 2010 through to. 2018 for, for that product team. So eight years of development and they effectively go by moving to continuous delivery, moving to three week sprints, moving to that faster cycle from a two yearly cycle and running into issues with that and every issue they running into.
Paying it back, right? Paying back the reason that they made those choices, which were perhaps valid reasons at the time, but you still need to pay it back. It doesn’t matter whether it was a valid reason or not. And, and paying it back and doing the work, they actually went from 25 features to production each year in 2010 to something like 360 features to production in 2018.
So by, by focusing on paying back their technical debt of enabling their engineers to close the feedback loops, then shorten the feedback loops, Three ways of DevOps, right? Closing the feedback loops first, then shortening them. And that act of shortening the feedback loops can massively increase the amount of value that you can deliver long term.
And that’s the value of paying back technical debt, of managing technical debt well, is that you Can go from the removing those limitations to maximizing the value that you deliver in your product with the same number of people. That was the Azure DevOps team literally went from 25 features to production each year in 2010 worked very hard to pay back technical debt and were able to even in the first year of focusing on paying back technical debt to get their product new way of working up and running.
They went from 25 features to production to 68 features to production within that one year. And they weren’t even focused on delivering more features. They were focused on let’s deal with our crap and let’s figure out how we deal with those problems. And they still delivered more features. That’s the benefit of paying back technical debt.
That’s the benefit of having a slick. Easy system to add features to your product and that’s what everybody needs don’t Manage technical debt pay it back.
At NKD Agility , we help teams implement modern engineering practices, build robust testing strategies, and achieve engineering excellence. Ready to reduce errors and deliver faster? Visit us today to transform your software delivery pipeline. Let’s automate the future together!
#agile #agileproductdevelopment #agileprojectmanagement #agileproductmanagement #productdevelopment #productmanager #productowner #projectmanager #scrummasters Watch on Youtube
Smart Classifications
Each classification [Concepts, Categories, & Tags] was assigned using AI-powered semantic analysis and scored across relevance, depth, and alignment. Final decisions? Still human. Always traceable. Hover to see how it applies.
What to read next
Navigating Technical Debt: How to Transform Challenges into Opportunities for Quality and Efficiency
Explains how managing technical debt and distinguishing it from poor quality can boost product efficiency, reduce costs, and support …
Mastering Technical Debt: Strategies to Transform Challenges into Opportunities for Your Development Team
Explains technical debt in software development, its impact on teams, and practical strategies to identify, manage, and reduce it for …
Building a culture of Quality
Explores how fostering a culture of quality and engineering excellence across teams leads to better, safer products, highlighting the impact …
All technical debt is a risk to the product and to your business
Technical debt increases risk to products and businesses, leading to hidden costs, reduced quality, and slower delivery. Ignoring it can …
Transforming Technical Debt: Unlocking Innovation and Value Through Quality Product Delivery
Explores how managing technical debt enables faster delivery, higher product quality, and greater innovation, highlighting strategies for …
How to Tackle Technical Debt Without Halting Progress: Smarter Ways to Keep Your Team Moving Forward
Struggling with technical debt? Discover practical ways to tackle legacy systems, boost team morale, and deliver value, without grinding to …
Detecting agile theatre with real delivery signals
Why Most Companies Operating Models Fail in Dynamic Markets
A concise comparison of Predictive and Adaptive Operating Models, explaining why traditional structures fail in dynamic markets and how …
Don’t Manage Dependencies, Remove Them
Explains why dependencies are a sign of poor system design and outlines steps to eliminate them by aligning teams, clarifying ownership, and …
The Estimation Trap: How Tracking Accuracy Undermines Trust, Flow, and Value in Software Delivery
Tracking estimation accuracy in software delivery leads to mistrust, fear, and distorted behaviours. Focus on customer value, flow, and …
Flow of Value vs Flow of Work – Misnomer or Useful Shorthand?
Compares “flow of value” and “flow of work” in Kanban, explaining why only validated outcomes count as value and stressing the need for …
Why Outsourcing DevOps Fails, and How Real Engineering Excellence Starts With Your Team
Avoid DevOps vendor lock-in, discover how true engineering excellence starts with partnership, not outsourcing. Ready to transform your …
Detecting agile theatre with real delivery signals
Don’t Manage Dependencies, Remove Them
Explains why dependencies are a sign of poor system design and outlines steps to eliminate them by aligning teams, clarifying ownership, and …
The Estimation Trap: How Tracking Accuracy Undermines Trust, Flow, and Value in Software Delivery
Tracking estimation accuracy in software delivery leads to mistrust, fear, and distorted behaviours. Focus on customer value, flow, and …
Flow of Value vs Flow of Work – Misnomer or Useful Shorthand?
Compares “flow of value” and “flow of work” in Kanban, explaining why only validated outcomes count as value and stressing the need for …
Why Outsourcing DevOps Fails, and How Real Engineering Excellence Starts With Your Team
Avoid DevOps vendor lock-in, discover how true engineering excellence starts with partnership, not outsourcing. Ready to transform your …
Estimating Better in an Overloaded System Is a Poor Man’s Strategy
High work in progress (WIP) causes delays and unpredictability; improving estimates won’t help. Limiting WIP and focusing on flow is key to …
Why Outsourcing DevOps Fails, and How Real Engineering Excellence Starts With Your Team
Avoid DevOps vendor lock-in, discover how true engineering excellence starts with partnership, not outsourcing. Ready to transform your …
Why Big Bang Rewrites Fail: How Sustainable Change and Engineering Excellence Transform Legacy Systems
Ditch the Big Bang rewrite. Discover why sustainable, in-place change drives true engineering excellence and lasting transformation in your …
Are We Still Pretending Coding Was the Bottleneck?
AI exposes that coding was never the main bottleneck in software delivery; real constraints are in system flow, team practices, and …
Why Azure DevOps Wins for Governance, Security, and Scale, Right Out of the Box
Unlock seamless governance, security, and scale with Azure DevOps, integrated tooling that lets you deliver value, not just manage …
Should You Use One Project to Rule Them All in Azure DevOps?
Explores when to use a single Azure DevOps project versus multiple projects, detailing impacts on flow, visibility, governance, and team …
Stop Guessing: How to Make Work Visible and Drive Real Improvement with Azure DevOps Flow Metrics
Stop guessing, start making data-driven decisions in Azure DevOps. Discover tools, tips, and insights to make your work visible and your …
Why Most Companies Operating Models Fail in Dynamic Markets
A concise comparison of Predictive and Adaptive Operating Models, explaining why traditional structures fail in dynamic markets and how …
Don’t Manage Dependencies, Remove Them
Explains why dependencies are a sign of poor system design and outlines steps to eliminate them by aligning teams, clarifying ownership, and …
The Estimation Trap: How Tracking Accuracy Undermines Trust, Flow, and Value in Software Delivery
Tracking estimation accuracy in software delivery leads to mistrust, fear, and distorted behaviours. Focus on customer value, flow, and …
Kendall Guide - A System of Work for AI Adoption
Flow of Value vs Flow of Work – Misnomer or Useful Shorthand?
Compares “flow of value” and “flow of work” in Kanban, explaining why only validated outcomes count as value and stressing the need for …
Estimating Better in an Overloaded System Is a Poor Man’s Strategy
High work in progress (WIP) causes delays and unpredictability; improving estimates won’t help. Limiting WIP and focusing on flow is key to …