Qodana / Use Cases / Reducing Technical Debt

Reducing Technical Debt with Baselines in Qodana

The nature of programming means that all codebases will develop issues over time, no matter how diligent you are.

However, while some issues are commonplace, they can still cause problems. When they add up over time, you build what is known as technical debt, which refers to the future cost of fixing problems in your codebase.

Technical debt presents a conundrum for your team. Do you spend months fixing existing problems while new features stagnate, or ignore quality issues while technical debt adds up? And how do you reduce technical debt effectively without hampering progress?

Try Qodana

Get a 60-day trial

Request a demo

What causes technical debt in software development?

the cost of tech debt

Technical debt occurs thanks to predictable patterns, and it affects most development teams in some way. In fact, in 2023, a study commissioned by Insights Enterprise found that 86% of companies experience technical debt in their development processes.

It’s costly too. A 2022 study from McKinsey suggested that organizations dedicate as much as 20% of their development budget to addressing technical debt.

But while technical debt is common, it’s important not to let it get out of hand, as it can have a knock-on effect. The Insights Enterprise study found that mounting technical debt affects innovation, causes downtime, and leads to missed deadlines and problems meeting service level agreements.

So tackling technical debt is important. And that all starts with understanding the root causes, allowing you to address it strategically rather than reactively.

Rushed development creates the most visible technical debt. When teams have tight deadlines, developers implement faster fixes instead of robust solutions, meaning they need more attention later. A database query that works but lacks proper indexing, hardcoded configuration values that should be parameterized, or error handling that catches exceptions without meaningful recovery all represent shortcuts taken under time pressure.

Lack of consistent standards can contribute, too. When people work differently, you get fragmented codebases where different sections follow different conventions. Without automated enforcement throughout CI/CD integrations, these inconsistencies create maintenance overhead.

Several additional factors consistently contribute to technical debt across development teams:

  • Outdated dependencies and legacy frameworks create security vulnerabilities and performance bottlenecks that add up over time
  • Poor documentation slows onboarding and creates knowledge silos where only specific team members understand critical systems
  • Evolving requirements naturally create mismatches between original design assumptions and current business needs.

How to reduce technical debt with Qodana

Although this is not the intended use case, some customers use Qodana's baseline feature to transform technical debt into manageable, strategic decisions. Rather than treating all problems equally, you can use the baseline feature to establish a clear improvement plan without sacrificing development speed. Essentially, this lets you table issues found in previous analyses to address later, or to prioritise new critical and severe issues which may have emerged.

The baseline workflow was supposed to reduce redundancy, but users have adapted, using it for systematic tracking and prioritization of technical debt.

Set your benchmark

Start by setting a baseline. Run your initial Qodana analysis and capture current issues in a qodana.sarif.json file that becomes your improvement reference point.

Highlight problems automatically

Automate detection to separate new problems from existing technical debt, allowing you to prevent them piling up while addressing legacy issues systematically.

Target the things that matter most

Prioritize critical issues like security vulnerabilities and performance bottlenecks for immediate attention while deferring lower-impact problems. Issues with “critical” or “severe” status should be addressed first.

Create a culture of feedback and action

Integrate continuous feedback into your development workflow so quality gates enforce standards without blocking progress on strategic improvements.

Once it’s established, Qodana categorizes every subsequent analysis into new, unchanged, resolved, and absent problems. That means you can address new issues faster, while existing baseline problems remain tracked but don't block development progress.

JetBrains’s Unity VR development team demonstrated this approach effectively, using Qodana to reduce their analysis from 33,000 detected problems to a manageable 400 issues focused on their actual codebase, rather than third-party libraries and assets.

qodana for unity game development
qodana baseline report

Benefits of baselines in code quality

Baseline-driven technical debt management transforms code quality from a burden into a strategic advantage. You gain control over your improvement trajectory while maintaining the feedback loops essential for improved developer experience.

You can also replace a culture of firefighting problems with strategic decisions to reduce technical debt. For example, you might want to defer non-critical issues while you immediately fix security vulnerabilities or performance problems. This approach acknowledges that some level of debt is normal, while keeping it manageable.

Prevention of new debt growth through quality gate enforcement also stops your technical debt from growing. While your legacy issues remain tracked, you can set a rule that new code must meet current standards before merging. This makes it easier to fix older problems strategically without new issues layering on top of them.

Baseline-driven technical debt management improves team efficiency and morale by providing manageable, incremental improvement targets rather than overwhelming problem backlogs.

Keep track of your technical debt payoff

Measurable progress tracking provides concrete evidence of code quality improvements over time through reduced problem counts and faster resolution metrics.

Instill a consistent debt management mindset

Better team alignment makes sure everyone understands current priorities and improvement goals rather than making ad-hoc decisions about what to fix.

Tackle debt without damaging future progress

A more sustainable improvement cycle means you can tackle technical debt steadily using planned, regular maintenance, while still supporting faster feature development.

Manage technical debt strategically with baselines from Qodana

Managing your technical debt means acknowledging that deliberate choices about what technical debt to carry, when to address it, and how to prevent uncontrolled build up are behind long-term codebase health. The key lies in making these decisions based on concrete data rather than assumptions.

Qodana's baseline feature transforms your technical debt from an overwhelming burden into manageable, strategic decisions. By establishing clear starting points, preventing new debt build up, and enabling incremental improvement, you can maintain code quality without sacrificing development speed and innovation.

The result is cleaner codebases, reduced maintenance overheads, and development teams that can spend time building new features instead of always fighting legacy problems.

You can use baseline functionality as part of a bigger plan to start managing your technical debt strategically today.

Try Qodana

Get a 60-day trial

Request a demo