VOOZH about

URL: https://thenewstack.io/3-sources-of-tech-debt-and-how-to-manage-it/

⇱ 3 Sources of Tech Debt and How to Manage It - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2021-12-23 08:14:37
3 Sources of Tech Debt and How to Manage It
contributed,sponsor-sourcegraph,sponsored,sponsored-post-contributed,
DevOps

3 Sources of Tech Debt and How to Manage It

Tech debt isn’t necessarily a burden. It’s a powerful lever you can choose to pull, but only if you have a payment plan in mind.
Dec 23rd, 2021 8:14am by Nick Moore
👁 Featued image for: 3 Sources of Tech Debt and How to Manage It
Photo by Mikhail Nilov from Pexels.
Sourcegraph sponsored this post. Insight Partners is an investor in Sourcegraph and TNS.
Nick Moore
Nick is a content editor at Sourcegraph.

Software engineering isn’t a field known for glamour, but if there are glamorous parts, then technical debt certainly isn’t among them.

Technical debt is a term with many definitions and many disagreements between them. For this article, we’ll rely on the original definition from Ward Cunningham, which states that tech debt emerges from a disagreement between business needs and the software as it is actually written. From that foundational disagreement, he says, “We are going to continuously stumble … and that would slow us down like paying interest on a loan.”

In other words, technical debt is when the business as a whole and the software development team as a part do not align, and when that divergence causes the software development team to slow down over time. As time goes on, the team slows down further, until you can pay down the tech debt and/or refactor the codebase.

Tech debt, in these words, sounds bad. But it doesn’t have to be.

Imagine your dream home. You may be able to afford it in 30 years, but you want it today, so you go into debt. You get the benefit of a home today at the sacrifice of slowly paying off the debt for a few decades. That’s a rational decision many families make around the world, and it’s one software development teams make too.

The key, however, is making sure that when you decide to take on debt, you do so intentionally and with a plan to pay it off. If you don’t, you’ll have a foreclosed house or a rotten codebase. Below are three sources of tech debt, which you may or may not intentionally leverage, as well as ways to manage the tech debt that results.

1. Speed

Speed has a bad reputation. After “move fast and break things” went from inspiration to derision, the idea of intentionally moving fast often feels like a dangerous course of action. But for most startups, speed is a reality as well as a necessity.

Take Squarespace, for instance. When the company was around 600 people strong, the development team started working on Email Campaigns, its email marketing product. First priority was the email editor, but the team didn’t want to build a real email delivery infrastructure to support it, when what they really wanted feedback on was just the editor.

Instead, according to Jon Thornton, engineering manager at Squarespace, they built the “simplest, jankiest, quickest, thing we could” — a loop that took a list of email addresses and looped through them one by one, sending emails along the way.

Was it good? No. It would have fallen over the moment a customer used it to send an email campaign. But that wasn’t the point. It was good enough for Squarespace to use to send emails, which meant it was good enough for people to experience the editor and provide feedback.

According to Thornton, they spent about a week on this project, which he unashamedly called “throwaway work.” If anything, he said, the team actively looked forward to deleting the code.

Speed is worth embracing, as is the technical debt that results from it, as long as your team is aligned on eventually paying the debt down and the worth of the investment you’re making. Squarespace needed feedback before it needed a built-out infrastructure, so they prioritized speed while ensuring they had a plan to pay off the debt that speed created.

2. Time

Tech debt is inevitable because the march of time is inevitable. If only, however, we merely had to keep up with time. The ripple effects of Moore’s Law, especially as they collide with an industry fueled with venture capital, means that tech is always changing.

In a DevOps Days talk, Dave Stanke, developer relations engineer for Google Cloud Platform, pronounced that “all tech is debt.” According to Stanke, tech never stops moving: “A new framework, a new language, a new this, a new that. It’s baffling.” Tech debt results not only from that bafflement, but the sheer speed of technology.

“Whatever was the state of the world when you designed something, that’s old news by the time you’ve deployed it,” Stanke said. All tech is tech debt then, because time makes it debt by the time it’s reality.

Because Stanke believes “there’s nothing that you can build that’s not debt,” he argues that “your only hope is to get to what’s next as fast as possible.” That means investing in people and their domain expertise, the closest thing you have to a persistent asset and a defensible moat.

If tech debt is inevitable, and according to Stanke, it’s as inevitable as time, then investing in your team is the best way to ensure you avoid bankruptcy.

3. Disagreement

If we return to Cunningham’s original definition quoted above, you’ll notice neither speed nor time are highlighted. Instead, Cunningham focuses on disagreement, a focus Lenovo’s Luca Rossi also picks up on in this article for Refactoring.

Disagreement, here, refers to the difference between business needs and software development reality.

Here are three disagreements that might incentivize the accumulation of tech debt:

  1. Business leaders are looking for an exit. If the company’s executives are focused on an exit, especially an acquisition, they may want to take on tech debt to acquire users and revenue, such that they can entice acquisition offers. They may prioritize growth over tech debt and leave the payment plan for a post-acquisition effort. Ensure that business leaders and engineers are aligned, such that business leaders learn to prioritize tech debt for the long term or engineers learn to take on tech debt for the short term.
  2. Product managers are overly ambitious. Product managers, sometimes incentivized by higher-ups, may set a product roadmap that unintentionally requires engineers to take shortcuts to make sprints. Tech debt will accumulate as engineers prioritize completion of features over the sustainability and maintainability of those features. Product managers can prioritize tech debt by creating a closer feedback loop between them and the engineers they’re working with. On-the-ground engineers are in the best place to know whether a feature will be landed in time with or without sacrifice.
  3. Project managers don’t make time for tech debt. Your team might agree that tech debt is worth addressing, but if your project schedule doesn’t account for it, then it might never get done. Prioritize tech debt by pairing tech debt with high-impact projects (see adviser Gergely Orosz’s argument for this method here), dedicate the last few cycles of each quarter to tech debt (see Dropbox’s Leemay Nassery’s argument for this method here), or designate one day out of every sprint to work on tech debt (see Squarespace’s Thornton’s argument for this method here).

Disagreement is perhaps the hardest source of tech debt to manage. The solution — or solutions, really, since every solution will have to be tailor-fit to every context — relies on people, not technology.

Sourcegraph’s code intelligence platform enables developers to understand, fix, and automate across their entire codebase. Address security risks, onboard to a new codebase, identify the root cause of incidents, promote code reuse, and more. Sourcegraph and TNS are under common control.
Learn More

Tech Debt is Inevitable But Your Payment Plan Isn’t

The title of this article was chosen deliberately; tech debt isn’t something you can eliminate, contain or escape, but it is something you can manage.

Speed is a business necessity; time is inevitable and inescapable; and disagreement is unavoidable. Your goal, then, isn’t to avoid tech debt, but to identify its sources (this list is not exhaustive!) and think through plans of managing each type of tech debt as it emerges and as it accumulates.

Remember, tech debt isn’t necessarily a burden. It’s a powerful lever you can choose to pull, but one you should only pull if you have a payment plan in mind.

Sourcegraph’s code intelligence platform enables developers to understand, fix, and automate across their entire codebase. Address security risks, onboard to a new codebase, identify the root cause of incidents, promote code reuse, and more. Sourcegraph and TNS are under common control.
Learn More
TRENDING STORIES
Nick is a content editor at Sourcegraph.
Read more from Nick Moore
Sourcegraph sponsored this post. Insight Partners is an investor in Sourcegraph and TNS.
SHARE THIS STORY
TRENDING STORIES
TNS owner Insight Partners is an investor in: Sourcegraph.
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.