Why Managing Technical Debt Is About Identifying Value
March 30, 2021

Gaurang Torvekar

Technical debt is an issue that dogs engineering but is a reality of everyday work life.

A Gartner report from March 2020 said that "managing technical debt in large legacy environments is the top challenge for infrastructure and operations leaders", while the Accelerate State of DevOps 2019 report highlighted the damaging impact it can have on productivity — "respondents with high technical debt were 1.6 times less productive, and that the highest performers were 1.4 times more likely to have low technical debt."

If it's such a problem, why does it exist? As a blog for the Software Engineering Institute at Carnegie Mellon University (CMU) puts it, "in their haste to deliver software capabilities, developers sometimes engage in less-than-optimal coding practices."

But what actually is technical debt? Part of the issue surrounding the whole concept is that no one is really sure — asking two engineers will produce two different answers. The SEI at CMU ran a field study, with one of the questions covering understanding of the concept, and its "results confirm the widely held belief that neither developers nor their managers share a clear understanding of exactly what is meant by the metaphor and what it means for their project."

This lack of understanding can be a challenge, particularly when engineering managers are trying to explain to product marketers why something might take so long. Put simply, technical debt is the added complexity, or the interest you have to pay, that is created when corners are cut.

To add a bit of clarity to the issue, Matthew Sinclair, VP of engineering at BCG Digital Ventures, explains that technical debt is akin to "taking out a loan, denominated in time, that you bet will pay off for you in terms of learning and velocity at some point in the future."

For Thomas Dittmer, Group Technology Director at Prestige Worldwide, there are actually two types of technical debt: "one that you've actually knowingly taken on because you're trying to run fast, and the other type is 'life's just moved on,' and you turn around and think 'oh that's not very good is it,' what we did a year ago or six months ago."

Thomas was speaking during the Indorse Engineering Leaders Online Panel, in response to a question on how the panellists decide how much technical debt to take on and when they pay it back. In response to the first query, Thomas suggested tracking technical debt. "I used to run a system where I'd have all the team leads log everything they had that they thought was technical debt and we'd review it, and we'd prioritize it and understand what we'd work on."

But when should it be paid back? It's a question that challenges many organizations — surely anything bad should be taken out of the business as quickly as possible?

Not necessarily, suggested Thomas, in an argument echoed in a blog by Martin Fowler back in May 2019. The former felt that if the technical debt doesn't slow engineers down, perhaps it does not necessarily need to be addressed, while the latter pointed out that fixing the problem for one feature may actually not provide any material gains, if the fix took longer than the feature itself — it was only when the fix could apply to multiple features that an engineer might reap the benefit.

Of course, that potential benefit can't be determined if technical debt isn't being measured. Oswaldo Hernandez Perez, Engineering Manager at Improbable, noted that "it's indeed hard to measure technical debt objectively," thanks to its vague definition. He explained that there are some signs that can be used to track the impact of technical debt, such as an increase in customer support contact rate or number of incidents. However, engineers need to be mindful of additional factors when considering these as technical debt indicators.

It comes down to the need to demonstrate the value of getting rid of the technical debt. Like everything else in business, there needs to be a quantifiable return on investment. If, as Fowler and Thomas allude to, the work required to fix the problem will not have a direct impact, does it justify the use of resources?

One way of working that out is to identify a tangible, explainable benefit. Sarah Vang Nohr, Engineering Manager at Trustpilot explained that "It's extremely important to have [technical debt] in a road map and be able to explain the value of fixing this tech debt. You should be able to explain what the benefits are. If you can explain that the benefits are you can deliver 10% faster then that's understandable to others." If you can't, then it's time to take a step back and think about what you are trying to achieve.

Technical debt in software development is a challenge, and it can complicate what is already a complex task. As the panellists noted, the key to managing it is to be able to identify real, tangible value, with benefits that are clear to others. If that is not possible, then it is time to consider whether it needs to be dealt with at all.

Gaurang Torvekar is CEO and Co-Founder of Indorse
Share this

Industry News

September 20, 2023

Oracle announced new application development capabilities to enable developers to rapidly build and deploy applications on Oracle Cloud Infrastructure (OCI).

September 20, 2023

Sonar announced zero-configuration, automatic analysis for programming languages C and C++ within SonarCloud.

September 20, 2023

DataStax announced a new JSON API for Astra DB – the database-as-a-service built on the open source Apache Cassandra® – delivering on one of the most highly requested user features, and providing a seamless experience for Javascript developers building AI applications.

September 19, 2023

Oracle announced the availability of Java 21.

September 19, 2023

Mirantis launched Lens AppIQ, available directly in Lens Desktop and as (Software as a Service) SaaS.

September 19, 2023

Buildkite announced the company has entered into a definitive agreement to acquire Packagecloud, a cloud-based software package management platform, in an all stock deal.

September 19, 2023

CrowdStrike has agreed to acquire Bionic, a provider of Application Security Posture Management (ASPM).

September 18, 2023

Perforce Software announces BlazeMeter's Test Data Pro, the latest addition to its continuous testing platform.

September 18, 2023

CloudBees announced a new cloud native DevSecOps platform that places platform engineers and developer experience front and center.

September 18, 2023

Akuity announced a new open source tool, Kargo, to implement change promotions across many application life cycle stages using GitOps principles.

September 14, 2023

CloudBees announced significant performance and scalability breakthroughs for Jenkins® with new updates to its CloudBees Continuous Integration (CI) software.

September 14, 2023

JFrog unveiled new capabilities that set the standard for quality, security, MLOps and integrity of software releases.

September 14, 2023

Enea launched the Enea Qosmos Threat Detection SDK.

September 13, 2023

Check Point® Software Technologies Ltd. announced the completion of its acquisition of Perimeter 81, a pioneering Security Service Edge (SSE) company, with a team of over 200 employees that serves more than 3,000 customers worldwide.