Capability 04 of 04 · Organization
Tech Debt & Modernization
How AI accelerates paying down tech debt and modernizing legacy systems.
5
maturity levels
15
practices
15
guides
L1 · Stage 01Assisted
Practices - what it looks like3 guides
- Tech debt accumulatesDebt grows is the default state of software engineering in organizations that have not made debt management a deliberate practice.guide→
- Legacy code left untouched"Legacy = don't touch it" is the fear-based approach to old or poorly understood code that characterizes L1 organizations.guide→
- Multi-year migration backlogKnown modernization work has piled up to multiple years at current velocity, which in practice means it will never be finished by human effort alone.guide→
Criteria - what to measure
- 01The team is aware of its main tech-debt areas
- 02Legacy systems are kept stable
- 03Team acknowledges tech debt exists and can enumerate major items
- 04Migration backlog exists (even if years long with no progress)
L2 · Stage 02Delegated
Practices - what it looks like3 guides
- Debt categorized and prioritized; separate Disposable Software (deliberate throwaway) from durable systems - and track comprehension debt, the debt that accumulates silently where machines verify machinesDebt categorized and prioritized is the L2 state where an organization has moved from informal awareness of technical debt to a structured system for tracking, classifying, and ordering debt items.guide→
- Manual migration attemptsA developer works through the new API by hand, fixing compilation errors one at a time. Real progress over L1 paralysis, and far too slow to clear the backlog.guide→
- OpenRewrite basic recipesStructured, tested refactorings for JVM code: a recipe replaces a deprecated API or applies a security fix across every usage, deterministically.guide→
Criteria - what to measure
- 01Tech debt is categorized and prioritized (severity, impact, effort)
- 02At least one manual migration attempt has been completed or is in progress
- 03OpenRewrite or equivalent automated refactoring tool has been evaluated or adopted for basic recipes
- 04Tech debt reduction is allocated time in sprint planning (even if small)
- 05Migration attempts are documented with lessons learned
L3 · Stage 03Systematic
Practices - what it looks like3 guides
- Continuous Modernization: agent pays off debt in the background, and the payoff is now measurable in tokens - one refactor cut the input cost of every future change to that code by 83%Tech debt stops being a project that competes with features: an agent works the inventory continuously, and the payoff is now measurable in tokens rather than argued for on principle.guide→
- Library bumps, version upgrades autoDependency upgrades are delegated to a system that watches upstream releases, tests the bump and opens the PR, or merges it when confidence is high.guide→
- OpenRewrite + agent = systematic refactoringOpenRewrite supplies the safe transformations, an agent chooses and sequences the recipes, reads the test failures and handles what the recipes miss.guide→
Criteria - what to measure
- 01Continuous modernization: agents work on tech debt reduction in background (non-blocking to feature work)
- 02Library version bumps and dependency upgrades are automated via agent PRs
- 03OpenRewrite + agent combination is used for systematic refactoring campaigns
- 04Agent tech debt PRs follow the same review process as feature PRs
- 05Dependency freshness score is tracked (% of dependencies within N versions of latest)
L4 · Stage 04GovernedMost teams aim here
Practices - what it looks like3 guides
- "Dead project too expensive to modernize" → agent modernizes for pennies (sqlite-utils 4.0 for $149; reverse engineering that never penciled out now does)The software an organization wrote off as unmaintainable becomes economic again once the modernization cost is agent time rather than engineer months.guide→
- Cross-repo migration agents: the permanently-deferred migration is now a two-week job, so the backlog is a choice rather than a constraintOne consistent migration applied across dozens or hundreds of repositories at once - the permanently-deferred migration is now a two-week job, so the backlog is a choice rather than a constraint.guide→
- Java 8 → 21, Angular.js → Angular 17 via agents; the Bun model for full rewrites (conformance test suite first, then 64 concurrent agents)Java 8 to Java 21 and AngularJS to Angular 17 are two of the most common large-scale migration challenges in enterprise software engineering.guide→
Criteria - what to measure
- 01Projects previously deemed "too expensive to modernize" are being modernized by agents at low cost
- 02Cross-repository migration agents operate across multiple codebases simultaneously
- 03Major version migrations (e.g., Java 8 to 21, Angular.js to Angular 17) are agent-driven
- 04Cost-per-migration-PR is tracked and decreasing
- 05Cross-repo migrations complete within defined SLAs (e.g., 100 repos migrated in 30 days)
L5 · Stage 05Self-improving
Practices - what it looks like3 guides
- Tech debt = near-zero steady stateTech debt near-zero steady state is the L5 condition where technical debt does not accumulate over time because the rate of debt remediation equals or exceeds the rate of debt creation.guide→
- Agent fleet maintains, upgrades, patches 24/7An agent fleet that maintains, upgrades, and patches 24/7 is the L5 state where codebase maintenance is operationalized as infrastructure rather than treated as engineering work.guide→
- CVE remediation: detect → fix → test → ship autonomousA vulnerability announcement triggers the whole pipeline: find the affected repos, bump to the patched release, run the tests, ship, with no human involved.guide→
Criteria - what to measure
- 01Tech debt is at near-zero steady state (new debt is paid down within the same sprint it is created)
- 02Agent fleet maintains, upgrades, and patches codebases 24/7 without human scheduling
- 03CVE remediation is autonomous: detect vulnerability, generate fix, test, and ship
- 04Mean time from CVE disclosure to deployed fix is under 24 hours for critical vulnerabilities
- 05Tech debt score (measured by static analysis) has been stable or improving for 6+ months
From the Field
Recent releases, projects and discussions the AI Radar classified into this capability.
release
openrewrite/rewrite
article
Thoughtworks Technology Radar Discussion on Sacrificial Architecture
article
Amazon is regretting AI [video][8 mins]
release
n8n-io/n8n
article
DoorDash Used Copilot to Convert Its XCTest-Based iOS Test Suite to Swift Testing
article
Behind the Scenes Hardening Firefox with Claude Mythos Preview
release
grafana/grafana
article
Fragments: May 14
Which level is your team at in Tech Debt & Modernization?
The criteria above are what we check in a facilitated assessment. Run it yourself to place this capability, see which gates you have passed, and compare it against the other 3 in Organization.
Start the assessment →