Skip to content

January 5, 2026

Unclogging the Value Stream: How to Make AI Code Generation Actually Deliver Business Value

By Leah Brown

You’ve read the headlines. AI is enabling 100% to 200% increases in productivity! Software developers will be obsolete in five years! We’ve taken the human entirely out of the loop! If you’re not doing this right now, you’ll be out of business in three years!

You’re a promoter of new technology—you wouldn’t be in your leadership role if you weren’t. This all sounds amazing. You rolled out AI assistants to augment your engineers. You know the benefits should be huge.

But your current lived experience looks more like this:

  • You’re only realizing 3% productivity increases (or at worst, decreased productivity!)
  • Your queues of backlogged work are growing.
  • The ratio of “tech debt” to “feature delivery” is shifting out of balance.
  • Value streams are backed up in “waiting on someone else” or “validation” statuses.
  • Developers are asking for more focus time, though they’re spending less time than ever actually writing code.

And here’s what worries you most: With the ability to generate code faster than ever, it’s now taking much longer to confirm that work is ready for production than it took to complete the work in the first place.

According to Robbie Daitzman and Christina Yakomin in their paper “Unclogging the Drain” published in the Fall 2025 Enterprise Technology Leadership Journal, if you don’t address this bottleneck, you’re heading for disaster.

The Real Problem: PR to Production Is the New Bottleneck

The advent of generative code solutions—from AI coding assistants like GitHub Copilot to “vibe coding” tools like Cursor—presents an existential risk to large enterprises if not applied intentionally.

The question isn’t “Are we building the right thing?” (that’s product management, requirements definition, feature prioritization). The question is: “How do we make sure we’re building the thing right?”

The greatest opportunity for improvement today lies in what happens from when a pull request (PR) is raised to when a client can first utilize a new capability in production. This is not only what you, as a senior technology executive, have the most control over—it’s also the part of the SDLC that will feel the most strain with the rise of AI tools.

Think of it like a drain. Code generation is like turning on a fire hose. If your downstream validation processes—code review, testing, policy enforcement, performance validation—are designed for a trickle, you’re going to flood the system. The drain clogs. Work backs up. Value delivery slows to a crawl despite generating code at unprecedented speeds.

The Path from PR to Production

The authors map out the critical steps in this journey:

  1. Code Review / Pull Request
  2. Automated Functional Test Suite
  3. Static Code Analysis
  4. Policy Enforcement
  5. Performance Testing
  6. Chaos Testing
  7. UAT / Product Owner Acceptance Testing
  8. Go/No-Go Decision
  9. Resilient Rollout
  10. Rollback (if needed)
  11. Live Post-Certification

Each step is a potential bottleneck. AI code generation doesn’t just strain one step—it simultaneously increases pressure on every single validation point in your pipeline.

Let’s examine how to unclog each critical step.

Code Review: The First Bottleneck

The Problem: As generative AI tools accelerate code creation, the code review process becomes a bottleneck—especially when senior engineers must manually review complex, machine-generated code that may be harder to interpret than human-written code.

The Solution:

  • Avoid large batch changes that burden reviewers and slow the process. When substantial changes are unavoidable (like initial infrastructure deployments), conduct real-time peer reviews to facilitate faster feedback and create learning opportunities.
  • Initiate reviews early and frequently to keep them granular and manageable. Though in some cases, the nature of work may necessitate broader, multi-component pull requests.
  • Augment human reviews with automation. AI-powered tools like GitHub Copilot Code Reviewer can generate pull request summaries and perform initial analysis. However, these tools should be viewed as supplements, not replacements, for thoughtful human oversight.

When to do it: Code review should be completed via pull request submitted with each code/config change prior to entering an integration/testing environment, before code is merged into main or feature branches.

Where to do it: Code review can start in the local IDE before code is committed, through practices like pair programming. Eventually, before merging, formal code review should be completed asynchronously through code repository tooling/SCM.

Automated Functional Test Suite: Catching Issues Early

The Problem: Manual testing can’t keep pace with AI-generated code volume. Organizations need automated validation that runs continuously.

The Solution:

  • Build comprehensive automated test suites that cover critical user journeys and edge cases. These should run automatically with each change, providing fast feedback to developers.
  • Integrate full end-to-end tests into CI builds. When tests require external dependencies, consider spinning up those dependencies ephemerally to limit failure modes unrelated to the component being built.
  • Convert manual processes to automation. If your current workflow involves manually running a Postman collection in an automation environment, integrate that collection into your build process to eliminate manual validation steps and ensure consistent, repeatable test execution.

When to do it: Run automated functional tests with each CI (continuous integration) build. This provides fast feedback, allowing developers to catch and fix issues early in the development cycle.

Where to do it: Execute in the CI pipeline as part of the automated build process.

Static Code Analysis: Catching Issues Before They Run

The Problem: Without automated code quality checks, issues accumulate. AI-generated code may violate coding standards, introduce security vulnerabilities, or create maintainability problems that only become apparent later.

The Solution: Static code analysis evaluates source code without executing it, identifying syntax errors, code smells, security vulnerabilities, and violations of coding standards.

  • Make it required in CI builds to ensure code quality checks are consistently applied across all changes. This catches issues early, prevents regressions, and enforces coding standards before code is merged.
  • Run linters and analysis tools locally before committing code. This provides fast feedback, reduces noise in shared pipelines, and helps maintain a clean codebase.
  • Leverage established tools rather than building your own. Popular options include SonarQube (multi-language), ESLint (JavaScript/TypeScript), Pylint (Python), Checkstyle (Java), and Bandit (Python security).

When to do it: Incorporate static code analysis into every CI build and as a standard part of the broader CI/CD pipeline.

Where to do it: Run locally during development, then as part of CI/CD pipeline throughout the development lifecycle.

Policy Enforcement: Automated Compliance

The Problem: Organizational conventions, standards, and best practices need to be consistently followed. Manual checks don’t scale to AI code generation volumes.

The Solution: Automated policy enforcement validates configurations like cloud resource tagging, ensures resiliency testing completion, and confirms alerting and monitoring standards are met.

  • Run automated policy checks with each CI build to ensure violations are caught early. While analysis should occur with every build, enforcement actions may vary—some policies might only be enforced on main branches or may block production deployments without necessarily failing the build.
  • Tailor policies to your organization’s specific needs. While enforcement mechanisms like Open Policy Agent (OPA), Conftest, or Terraform Sentinel can be adopted from open source or vendors, the rules and policies should be customized to reflect your enterprise’s standards and priorities.

When to do it: Run with each CI build to catch violations early. Enforcement timing may vary based on policy severity and context.

Where to do it: Integrate into the CI/CD pipeline to ensure compliance checks are core parts of the delivery process, not afterthoughts.

Performance Testing: Validating Under Load

The Problem: New functionality must maintain or improve performance profiles. Without systematic performance validation, regressions slip through, degrading user experience.

The Solution: Performance testing evaluates how a system behaves under expected load conditions, ensuring responsiveness, stability, and scalability.

Run moderate load tests before each production deployment representing typical daily traffic patterns. This validates key user journeys continue meeting performance expectations and no regressions have been introduced.

  • Test in pre-production environments that closely mirror production. All dependencies involved in user journeys should be provisioned to match production configurations or simulated using service virtualization.
  • Invest in ephemeral, isolated test environments that closely mirror production. While technically challenging, this provides the most accurate performance signals with minimal external interference.

When to do it: Before each production deployment for critical user journeys. Component-level performance tests can run with each CI build of the main branch but shouldn’t be build-breaking due to longer runtime.

Where to do it: Pre-production or integration environment that closely mirrors production.

Go/No-Go Decision: The Human Checkpoint

The Problem: A fully automated pipeline may confirm a release can go to production, but the Go/No-Go decision answers whether it should go, factoring in business readiness, client impact, and timing.

The Solution: This decision is critical to ensuring production deployments are not only technically sound but also aligned with broader organizational goals and client expectations.

  • Make Go/No-Go decisions as close to deployment time as possible, incorporating latest insights from user acceptance testing, business readiness assessments, and operational considerations.
  • Make decisions on the smallest possible slice of functionality being released. Smaller batch sizes make it easier to assess readiness and isolate issues.
  • Clearly define who owns the final decision and establish lightweight governance models like the RAPID framework to clarify roles and responsibilities when multiple stakeholders are involved.

When to do it: Every production deployment, regardless of size or complexity, should be preceded by a deliberate Go/No-Go decision.

Where to do it: Integrated into the CI/CD pipeline as a formal checkpoint, often with a human in the loop. This can be a manual approval step, scheduled release window, or gated deployment requiring sign-off from designated stakeholders.

Resilient Rollout: Deploy with Confidence

The Problem: Even with extensive validation, things can go wrong in production. The blast radius of failures needs to be minimized, with rapid recovery mechanisms in place.

The Solution: Resilient rollout deploys production changes in a way that minimizes risk, ensures rapid validation, and enables efficient rollback if needed.

  • Leverage deployment strategies like blue/green deployments, canary releases, and feature toggles. These allow changes to be introduced gradually, tested in isolation, and rolled back with minimal disruption.
  • Embed strategies into CI/CD pipeline as part of release automation. Include automated gating mechanisms, health checks, and rollback triggers that respond to real-time telemetry.
  • Perform post-certification validation live in production immediately following deployment. Validate the change is behaving as expected under real-world conditions using synthetic monitoring, telemetry, and user behavior analytics.

When to do it: Every production deployment should include a resilient rollout strategy, regardless of the size or perceived risk of the change.

Where to do it: Deploy to production with automated gating, health checks in the CI/CD pipeline, and post-certification validation live in the production environment.

The Central Theme: Automate, Validate, Build Confidence

The authors’ central recommendation is clear: Automate wherever possible, validate continuously, and use signals generated throughout the software delivery lifecycle to build confidence in every production release.

This transformation doesn’t happen overnight. It requires:

  • Deliberate shift in culture and mindset
  • Investment in tooling
  • Process refinement
  • Cross-functional collaboration

But here’s the critical insight: These downstream improvements have some of the highest return on investment and are often within your direct control as a technology executive.

What This Means for Your Organization

If you’re a senior technology executive at a large enterprise (likely 10k+ employees), you need to recognize:

  • AI code generation isn’t the silver bullet. It’s a fire hose. If your validation processes can’t handle the volume, you’re flooding the system, not accelerating delivery.
  • The bottleneck has shifted. For decades, writing code was slow. Now, validating code is slow. Your processes need to catch up.
  • Manual processes don’t scale. Code reviews that worked when developers wrote 100 lines per day don’t work when AI generates 1,000 lines per day. Testing approaches designed for human-paced development break down at AI speeds.
  • Quality gates at the end don’t work. You can’t inspect quality in at the end. You need to build quality in throughout the process, with fast feedback loops at every stage.
  • Automation is non-negotiable. Every validation step that can be automated should be automated. Every manual checkpoint should be questioned: Does this need human judgment, or is it a scaling bottleneck in disguise?

The Path Forward

Start by mapping your current PR-to-production flow. For each step, ask:

  1. How often should this happen? (Each CI build? Each deployment? Each major release? Periodically?)
  2. Where should this happen? (Local IDE? CI/CD pipeline? Pre-production environment? Live in production?)
  3. Can this be automated? (If yes, what’s preventing automation now?)
  4. Is this a bottleneck? (Are changes backing up here? How long do they wait?)

Then systematically address each bottleneck:

  • Automate code reviews with AI-powered analysis tools (while keeping human oversight)
  • Build comprehensive automated test suites that run with every change
  • Implement static code analysis and policy enforcement in CI builds
  • Create pre-production performance testing environments that mirror production
  • Establish clear Go/No-Go decision processes with appropriate governance
  • Deploy resilient rollout strategies with canary releases and automated rollback

Most importantly: Recognize this is not a one-time fix. True transformation requires continuous focus on identifying and addressing the next source of friction. For many large organizations, once downstream validation is optimized, the next frontier may lie further upstream in ideation, prioritization, or portfolio planning.

The Bottom Line

AI code generation promises revolutionary productivity gains. But without addressing the PR-to-production bottleneck, those gains evaporate in your validation pipeline.

The drain is clogged. AI is the fire hose. Unless you unclog the drain, turning on the fire hose just floods the system.

The good news: You have direct control over these downstream processes. The practices outlined by Daitzman and Yakomin provide actionable steps to automate validation, build confidence, and actually deliver the business value that AI code generation promises.

The question isn’t whether to adopt AI code generation—that ship has sailed. The question is whether your organization will unclog the value stream fast enough to capture the benefits before your competitors do.

Start with your biggest bottleneck. Automate it. Then move to the next one. Build a sustainable, adaptive delivery model that evolves with your business, your clients, and your technology landscape.

Because generating code faster only creates value if you can deliver it to production faster too.


This blog post is based on “Unclogging the Drain: Clearing Obstacles in the Value Stream from PR to Production” by Robbie Daitzman and Christina Yakomin, published in the Enterprise Technology Leadership Journal Fall 2025.

- About The Authors
Leah Brown

Leah Brown

Managing Editor at IT Revolution working on publishing books and guidance papers for the modern business leader. I also oversee the production of the IT Revolution blog, combining the best of responsible, human-centered content with the assistance of AI tools.

Follow Leah on Social Media

No comments found

Leave a Comment

Your email address will not be published.



Jump to Section

    More Like This

    Unclogging the Value Stream: How to Make AI Code Generation Actually Deliver Business Value
    By Leah Brown

    You've read the headlines. AI is enabling 100% to 200% increases in productivity! Software…

    Potential Changes to Computer Science Curricula 
    By Gene Kim , Steve Yegge

    The following is an excerpt from the new book Vibe Coding: Building Production-Grade Software With…

    Potential New Roles in Software in the Age of AI
    By Gene Kim , Steve Yegge

    The following is an excerpt from the book Vibe Coding: Building Production-Grade Software With GenAI,…

    Hiring in the Age of AI: What to Interview For
    By Gene Kim , Steve Yegge

    The following is an excerpt from the book Vibe Coding: Building Production-Grade Software With GenAI,…