AI Technical Debt

AI Technical Debt

Sep 20, 2026

AI Technical Debt

for the AI and IT readers...

John

Sep 2026

image

When managing a large enterprise with a sprawling IT infrastructure, technical debt is a constant shadow. Stripped to its basics, technical debt is the extra effort, complexity, and cost you incur tomorrow because of shortcuts you take today.

For example, when you need a new system, you might build it, or buy it, or hire someone to write it.

If you buy a tool from a vendor, like Microsoft or Oracle, then that vendor will provide some support, fixes, security patches, etc so you have outsourced some technical work to them. This reduces your future workload. There are still things you must know and do, to run it safely in your enterprise. There are network firewalls, application firewalls, patching schedules, updates, downtime avoidance, user communications, customer support, achieving redundancy, etc etc. So you still have taken on some maintenance work, down the road.

If you hire someone else to build it/write code for you, and if your internal programming team doesn’t understand what was built, then you just took on a lot more technical debt. Now your programmers have to begin learning to maintain it, how to test it, and to fix it when it breaks. And it will break, even if you don’t change anything because patches, and external dependencies, and data changes, and other factors will inevitably break it. And when that happens, your programmers have to reverse engineer a codebase they didn’t write. And they don’t have a vendor to turn to for help.

Before we go further, let me say that you will never be totally free of technical debt. It’s good to realize that technical debt is unavoidable and, may not be a negative, just a necessary trade-off for increased speed. Getting a programmer team from XYZcorp or some other IT vendor to write your code might be faster than getting your team to do it, because you can get the code faster, start using it, and then worry about maintenance later. But you need to be careful how much of that you take on.

image

AI.

With AI, your programmers may or may not understand what got written. (true with consultant written code also) That is technical debt. You can mitigate this some. Hopefully you got source code in some language that your teams understand, so that is a start at preventing technical debt, but they still have to learn it. And system admins have to understand what network ports might need firewalled, what software dependencies might create supply chain vulnerabilities, how much cpu/memory/network is required to run it, how it scales up, can it be Dockerized or run in your type of VM systems, how to set up test instances, etc. So they have some things to learn, in order to implement it safely in your enterprise. That is technical debt also, but some of this can be mitigated by thinking about it ahead of time.

But the real technical debt is that you don’t fully understand what got written. You may not have the big architectural picture, or the module details. And there could be bugs in there; probably are. So you have some technical debt from this.

The Fix. Design First Internally. Then AI Augment.

So how do you deal with AI technical debt?

Try to avoid it. Some of the usual things to avoid technical debt would be to use a language that your programmers can maintain, and to let the AI know if your environment is Microsoft/Linux/other, and what network ports to avoid or use, and what sorts of dependencies that you prefer or avoid. For example, does your company embrace open source, or prefer the extra support you get from proprietary tools. Make sure you have specified these things when asking for AI help.

An example might be if you are a company that uses Azure cloud with Windows servers versus an Linux based company that prefers open source. These have different server, network, firewall needs.

image

image

Here is an better idea for helping the programmers and avoiding AI technical debt for AI generated code.

Recall that while AI can write isolated code at lightning speeds, it is incredibly weak at maintaining architectural integrity. This failure has given rise to a specific, acute form of technical debt: Architectural Debt.

Also, recall that code maintenance requires familiarity with the code base, as well as knowledge of the overall design. To deal with this, have your local programmer team make the overall design, based on user requirements, then get sign off on the design with the users. (Normal top down design or agile programming methodology)

Then figure out what subroutines or methods are needed. Map out the inputs and outputs of each routine in detail. Document all network ports, database needs, and as much detail as you can for each module. Obviously language choice and Object oriented vs procedural choices must be made.

Then AI could be used to evaluate the design, write documentation, or write an overall skeleton, and test subroutines, which basically can be called with test data and will return test data. Your local programmers should then test these and fix with AI help.

This debugging could use AI help, but at the end of this process the organization would understand the design, have documentation of it, and have some hands-on the code, so could maintain it better. And when changes were needed, AI could be given inputs and output of subroutines and asked to add/change features, and locals could test.

When requirements change in the future, you don’t need to ask the AI to rewrite your entire program. You simply target the specific subroutine that needs updating, hand the AI the new expected inputs/outputs, swap the old block out, and verify that the local unit tests pass.

By involving your organization early, you have people who helped design and understand overall design. The new tool can be tested early, and integration issues can be found early. The modular design, and strict interface documentation, can help with later AI fixes.


This is sometimes called “Design-First AI Augmentation” or “Human-Centric Orchestration.” By confining the AI to writing and evaluating isolated subroutines while humans retain absolute ownership of the master blueprint, you solve the three core causes of AI-induced technical debt:

  • Mitigating the “Black Box” Effect: When an AI writes a large, monolithic feature across multiple files, human engineers lose their mental model of the system. By forcing the AI into a tightly scoped subroutine boundary, with good documentation, your local programmers can reason about the inputs, outputs, network, firewall, database, and side effects early in the process.

  • Preventing Context Drift: AI coding tools optimize for immediate, functional correctness inside a single file. They do not know that a quick shortcut they took in Subroutine A breaks a global database dependency in Module Z. Your team acting as the architectural gatekeeper prevents this “micro-spaghetti” code from compiling.

  • A Cure for “Vibe Coding”: The industry has seen a massive surge in non-technical users generating massive, unmaintainable codebases using LLMs (often referred to as vibe coding). This approach ensures professional software engineering discipline: modular interfaces, strict API contracts, and rigorous automated testing, with realistic data. (sometimes its unexpected data that breaks things, not the code)

Frameworks known as Human-AI Co-Creation and Mixed-Initiative Software Engineering have been studied for this.

Shifting the developer’s role from a “writer of lines” to an “Architect and Reviewer and Tester” impacts long-term software health. The ‘programmer’ becomes someone who architects, orchestrates, reviews, and defines architectural boundaries, as well as debugging code. Note this is often the growth path for a programmer anyway, so should be a good change for the organization.

image

Summary.

There is still a valid place for “vibe coding” and rapid, unplanned AI prototyping. If you are building a personal website, a marketing landing page, or a proof-of-concept, you can get it running in minutes instead of days. If you break it later, you can simply restore it from a backup or prompt the AI to regenerate it.

But for enterprise applications where 100% uptime is mandatory, security compliance is non-negotiable, or human health is on the line, “vibes” are a liability. Protecting your organization requires architectural discipline, human orchestration, and a design-first mindset.

The 4 main points to emphasize in this model are:

1.Human Ownership of the Blueprint: Your internal programming team maps the overall architecture based on user requirements using classic top-down or Agile methodologies. Get user sign-off on the macro-design before a single line of code is written. Other teams need to sign off to ensure scaling, hosting, security, network, firewall, and other needs of your enterprise can be met with this design.

2.Strict Modular Isolation: Define the exact subroutines, methods, and modules required. Map out the precise inputs and outputs and data types (API contracts) for each routine. Document every required database schema, network port, and object-oriented boundary.

3.Targeted AI Execution: Hand these micro-specifications to the AI. Let the AI evaluate the design, write the structural skeleton, generate documentation, and write the isolated subroutines or test stubs.

4.Rigorous Local Testing: Your programmers test these isolated subroutines using mocking frameworks and automated test data. Data should include normal and ‘should fail’ data, to test error handling. Follow your normal enterprise guidelines. If debugging is required, use the AI as a targeted assistant to fix the specific unit.

Constraints like budget size, programmer team size, project management, and enterprise governance have been omitted in this blog, but a workflow should at least include something like this for medium to large enterprises:

image

References
[1] Software Improvement Group (SIG). The next wave of technical debt is architectural, and AI is accelerating it. (May 2026). https://www.softwareimprovementgroup.com/blog/architectural-debt-ai/
[2] Deloitte / IBM Institute for Business Value. 2026 Global Technology Leadership Study & The ERP Leapfrog Report. (Quantifying the 21%–40% enterprise technical debt drag).
[3] CodeRabbit / GitClear Analytics. The State of AI vs Human Code Generation. (Longitudinal study confirming AI-assisted code introducing 1.7x more logic/correctness issues and an 8x explosion in code duplication).
[4] Journal of Peer-Reviewed Software Engineering Economics. Systematic Remediation of Architectural Design Defects: 437% ROI over 24 months. (April 2026).
Disclaimer
This post reflects my personal opinions and general research, not professional advice. I’m not a doctor, lawyer, or financial advisor. Please verify anything important with a qualified professional. See my full disclaimer https://johnmarkbryson.substack.com/p/full-disclaimer
¿Te gusta esta publicación?

Comprar John Bryson un café

Más de John Bryson