ACD Is a Diagnostic Tool

7 min read 1230 words
View on Substack

Teams are adopting AI coding tools and wondering why they aren’t getting the productivity gains the vendors promised. So they assume the tools don’t work. The same thing happened with CD. Teams tried it, didn’t see improvements, and decided CD was a fantasy pushed by religious zealots. In both cases, they missed the point entirely.

Agentic Continuous Delivery (ACD) points a solar death ray at everything. The code structure. The test strategy. How the team divides work. The architecture. The deployment process. Every decision that seemed fine at human speed becomes a burning problem when agents start amplifying it.

The Diagnostic Nobody Asked For

I’ve watched this happen in real time, and it’s the same pattern I’ve seen for more than a decade when teams struggle with CD. Give an agent a tightly coupled codebase, and the changes ripple across modules because the boundaries don’t exist. The tests it writes are brittle because the code wasn’t designed for testability. The work it produces conflicts with what another developer is doing because the team carved up responsibilities by layer instead of by domain.

None of this is the agent’s fault. The agent is exposing design problems that were always there.

If your code requires deep contextual knowledge to change safely, that’s a diagnostic signal. Your architecture has implicit coupling that only survives because humans carry the context in their heads. If your tests break when behavior changes in seemingly unrelated areas, that’s a diagnostic signal. Your test strategy is coupled to implementation details instead of behavior.

If two developers can’t work on related features without stepping on each other, that’s a diagnostic signal. Your team topology and code ownership don’t align with your domain boundaries. If the agent builds something that passes every test but misses the point entirely, that’s a diagnostic signal. You’re giving direction instead of intent, and no one noticed the difference until something fast and literal started executing on it.

Agents don’t create these problems. They make them impossible to ignore. The agent generates code faster than humans, so every structural weakness compounds faster. Problems that took months to accumulate now surface in days.

CD Was the First Diagnostic

This isn’t a new pattern. Continuous delivery has been doing the same thing for years, just at a lower intensity.

When you commit to delivering every change to production through a single automated path, you expose every dysfunction in your system. Can’t deliver today? Why not? Is it the tests? The approval process? The architecture? CD forces you to answer those questions honestly. You can’t hide behind quarterly releases and pretend things are fine when you’re trying to ship daily.

What does CD typically reveal? Tightly coupled architectures with no domain boundaries. Manually configured snowflake servers. Test suites that nobody trusts. Deployment processes that require tribal knowledge and a weekend. Team structures that force handoffs across silos. Approval gates that add delay without adding quality.

None of these are delivery problems. They are system design problems. CD just makes them visible. CD is a spotlight on your code, your engineering practices, your processes, your organization, and sometimes even your HR policies.

The teams that got value from CD were the ones that treated every blocked pipeline, every failed deploy, every flaky test as a signal to improve. They didn’t disable the test. They didn’t skip the pipeline. They fixed the problem.

Same Pattern, Higher Intensity

Both CD and ACD work the same way: they apply pressure to a system and reveal what breaks.

If you want to deliver daily instead of quarterly, start with two fundamental questions:

  • Why can’t we deliver today’s work to production today?
  • How do I make sure I can still sleep at night?

Those two questions should drive every improvement you make. They aren’t in conflict. They are guardrail metrics for each other. If you focus only on the first one, you’ll ship garbage and wake up at 3 AM to an outage. If you focus only on the second, you’ll build a fortress of approvals and process theater that delivers nothing. Solving both simultaneously is the only way to actually improve your delivery system.

Pushing to deliver faster forces you to fix quality problems. Pushing for better quality forces you to automate, simplify, and remove unnecessary handoffs. They ratchet each other forward. The teams that get fast are the ones that got disciplined first.

CD is the spotlight. ACD is the solar death ray pointed at the same dysfunctions. The problems are the same. The intensity is different. If your codebase, your test strategy, and your delivery process can’t handle CD’s pressure, they definitely can’t handle what ACD is about to do.

Why ACD Is a Harder Diagnostic

CD already forced you to answer “why can’t we ship today?” ACD forces you to answer a harder question: “Can we specify what we want clearly enough that a machine can build it safely?”

Most teams can’t. They rely on implicit knowledge, verbal agreements, and developers who just know how things work around here. Agents don’t have any of that context. They generate code faster than teams can review it. They lack understanding of organizational norms and business rules. They can pass your automated tests while completely missing the intent of the change.

That’s the diagnostic. If your specifications are vague, agents will build the wrong thing fast. If your architecture constraints aren’t explicit, agents will violate them. If your quality bars aren’t defined in the pipeline, agents will sail right past them. Every gap in your engineering discipline that a human developer could paper over with experience and judgment becomes a failure when an agent hits it at speed.

The response is the same as it’s always been with CD: fix the system. Make intent, behavior, and architecture into artifacts that the pipeline can enforce. Humans decide why the change exists, what users should experience, and what trade-offs are acceptable. Agents write the code, constrained by those decisions. The pipeline makes sure they stay inside the lines. And CD is still the prerequisite. You can’t constrain agent autonomy with a pipeline that doesn’t exist.

Fix the System

Don’t chase speed. Don’t chase AI adoption metrics. Chase the problems these tools show you. The speed comes from the fixing, not from the tool.

The approach is the same whether you’re diagnosing with CD or ACD:

  1. Ask, “Why can’t we deliver today’s work to production today?”
  2. Ask “How do I make sure I can still sleep at night?”
  3. Fix every answer you get.
  4. Repeat.

Teams that focus on removing friction and improving quality end up fast. Teams that focus on going fast end up slow, buggy, and miserable.

Your delivery system is a supply chain. CD was the stress test. ACD is the stress test with the intensity turned all the way up. You can either build the discipline to handle it or watch the solar death ray burn through everything. That’s the choice.