Back to Blog
    AI & Engineering

    AI coding has its Ford moment. Where’s the Toyota part?

    Oct 2026 · 13 min

    Notes from tinkering with AI coding agents, and two old manufacturing ideas I admire.

    I have been tinkering with AI coding agents in my spare time and reading everything I can about how teams are putting them to work. An agent picks up a task, writes the code, runs the tests and opens a pull request. The person mostly reviews (many don't) and answers questions.

    Some moments feel like the future. A small feature can go from one sentence to merged code for less than the price of a coffee. Other moments are humbling. Agents ask questions that were already answered. Two pieces built in parallel each pass their own tests and still do not fit together.

    The more I watched this, the more it reminded me of the factory floor. I ran a manufacturing company in India before most of my career in tech. Later, at Amazon and HelloFresh, I saw the same ideas at work in fulfillment and supply chain.

    The two questions behind this post

    Throughput. Writing software is no longer bound by how many hours a person can type. Throughput can go way up. Is that basically what Henry Ford did with the moving assembly line?

    Quality. The quality of that output is still uneven. Toyota spent decades working out how to keep quality high as volume grows, and later wrote it down as the Toyota Way. Does that playbook carry over to a line where the workers are AI agents?

    This post is me working through those questions by pulling together a few disciplines here (manufacturing, software delivery, and what I see in AI tools and the teams adopting them). I understand that a pull request is not a car, and unmerged code is not physical inventory. The analogy is about flow and verification.

    1913Ford's movingassembly line1950sToyota studies Ford,builds its own system1984Goldratt's The Goal:find the bottleneck2003Lean ideas reachsoftware teams2010sDevOps and DORAdelivery metrics2025AI agentswrite the code
    None of these ideas are new on their own. What is new is the worker on the line.

    The evidence

    What we have all been noticing

    Writing code got cheap but the expensive parts moved somewhere else: deciding what to build, reviewing what came back, getting separate pieces to fit, and finding out whether the thing worked once it shipped.

    I wondered if that was just my own small experiments, so I looked at what larger studies say. Faros AI's Q2 2026 report draws on two years of engineering telemetry from about 22,000 developers across 4,000 teams, comparing each company's low-AI and high-AI periods. When AI adoption was high, teams completed 66% more epics. Deployments per week went down, though, median review time grew about five times, and incidents per pull request more than tripled.

    High vs. low AI adoption, same companies

    Epics completed+66.2%Task throughput+33.7%PR merge rate+16.2%Deployments per week−11.7%Bugs per PR+28.7%Monthly incidents+57.9%Incidents per PR+242.7%0+50%+100%+150%+200%+250%Work doneWhat reaches users, and what breaks
    Source: Faros AI, The Acceleration Whiplash, AI Engineering Report Q2 2026. Two years of telemetry, about 22,000 developers and 4,000 teams. Faros also reports median review time up about 5x and code churn up about 10x.

    Faros published its first report on this a year earlier, and some of the measures line up.

    Measure, high vs. low AI adoptionFaros 2025Faros 2026
    Work completedTasks +21%Tasks +34%, epics +66%
    Pull request size+154%+51%
    Review time+91%About 5x (median)
    Bugs per developer+9%+54%

    Output kept climbing. The cost of checking it climbed faster. Bugs per developer went from a small bump to more than half again, and review time went from nearly doubling to roughly five times. Pull requests grew less than the year before, which might mean teams are learning to keep changes smaller, but the checking still is not keeping up.

    CircleCI's 2026 report, covering about 28.7 million CI workflows, shows a similar shape. Activity was up 59% year over year. For the median team, though, throughput on the main branch fell 7%, and the main-branch success rate dropped to its lowest point in more than five years.

    Main-branch success rate, 2026

    70.8% of main-branch runs passCircleCI benchmark: 90%
    Source: CircleCI, 2026 State of Software Delivery.

    Faros's Q3 2026 follow-up, The Speed Trap, adds a detail that matters for the rest of this post. Delivery is speeding up again, but partly because teams are skipping review, with the cost showing up later in QA and operations.

    The more careful studies point the same way. Google's DORA team surveyed nearly 5,000 technology professionals and concluded that AI acts as an amplifier: it makes strong engineering systems stronger and weak ones worse. Its 2026 follow-up, The ROI of AI-assisted Software Development, names the cost in between a "verification tax," the extra effort to confirm that AI-written code is correct, secure and fits the design. Stack Overflow's 2026 Developer Survey, with more than 30,000 responses, shows the same tension from the developer's side: 66% use coding assistants or agents, yet only 6.6% would trust AI output on an important decision without checking it.

    METR ran one of the few randomized trials. In early 2025, experienced open-source developers took 19% longer on tasks when allowed to use AI, while believing they had been about 20% faster. METR's February 2026 update suggests developers are probably faster now, but calls its own evidence on the size of that gain very weak.

    Read together, the number of things being made went up a lot. The number of things finished and working did not keep pace. In a warehouse or a factory, that gap has a name: inventory. It sits between stations and it hides problems. That was the moment the factory comparison stopped feeling like a stretch to me.

    Ford

    Is this Ford's assembly line again?

    Partly, yes. In 1913 Ford started moving the work past the workers, and within about a year the labor to build a Model T chassis fell from roughly twelve hours to 93 minutes. The recipe was standard work, interchangeable parts and a moving line. Agents give software a similar jump: a spec is the standard work, a clear interface is the interchangeable part, and you can run as many stations in parallel as your budget allows.

    The same story carries a warning. Ford's line was built around one design, and the switch to the Model A in 1927 shut plants for months. Models change every few months, so a workflow wired tightly around today's tools may be its own Model T plant.

    Toyota

    And the quality half: Toyota

    Toyota started from Ford's line. After touring Ford's River Rouge plant in the early 1950s, Eiji Toyoda and Taiichi Ohno built the Toyota Production System to keep quality from slipping as volume grew. Its habits are simple to state: stop the line the moment something is wrong, make only what the next step can use, build in checks so mistakes cannot pass quietly, keep the load even, and improve a little every cycle.

    Each one maps onto agents almost directly, and if anything this half fits better than Ford's. Ohno called overproduction the worst kind of waste because it hides every other problem. Eleven pull requests a day that nobody has time to review looks like the same thing to me.

    Two halves of one line, and what each looks like with agents

    FORD · THROUGHPUTTOYOTA · QUALITYStandard workA written spec every agent works fromInterchangeable partsExact interfaces between pieces built in parallelThe moving lineWork orders flow past builder, reviewer and testsThe limit: one designA workflow wired to today's models is hard to changeStop at the sourceStop when code and spec disagree; someone owns itMake only what is neededStart new work only when someone can check itMistake-proofingPreflight checks in scripts, typed contracts in plansLevel the loadPace parallel agents to CI and usage limitsImprove every cycleWrite each lesson back into the rules agents read
    Ford explains why output can jump. Toyota explains how to keep that output worth shipping.

    The synthesis

    Putting the two halves together

    When I sketched how most teams I talk to use AI coding today, it looked like the diagram below. Agents push work forward as fast as they can. It piles up in front of the one step that still runs at human speed, which is review. Whatever slips through comes back later as rework, which shows up as more pull requests.

    How it often works today

    AgentAgentAgentAgentAgentPRs waitingbigger, and more of themHuman reviewruns at human speedMainIncidentsand reworkrework comes back as more pull requests
    Work is pushed forward and piles up in front of the slowest step. Goldratt would point out that the line can only go as fast as that step.

    The version I keep sketching looks more like this. The same agents do the building, but a few things change around them. Work is pulled in only when there is room to check it. The pieces agree on their interfaces before anyone builds. Problems stop the line close to where they happen. And after something ships, someone asks whether it actually worked, and that answer feeds the next spec.

    A line that pulls work and stops on problems

    Intentanyone can addSpecwhat and whyPlanexact interfacesPULLWork ordersagents in parallelCheckstests, reviewerShipa person approvesShared memory: decisions, rules and status live in the repo, and every agent reads them firstStop?An owner decides:fix the code or the specDid it work?after releasethe answer becomes the next intent
    Ford's flow, with Toyota's habits added: pull work in, agree on interfaces, stop close to the source, and close the loop after release.

    Stops seem to be the hardest part to get right. If every stop looks the same, a person either gets pinged for trivial things or an agent keeps retrying something it can never fix. Sorting stops into three kinds, each with its own rule, seems to help.

    Three kinds of stops

    The line stopsMechanicalCI queued, a flaky job, formattingRetry or apply a known fix,onceThe code is wrongstill failing after one retrySend the failure back to the builder,1 to 2 rounds, inside its budgetA decisionscope, security, spend, shippingAlways stop and ask a personno agent decides these
    The cap on fix rounds matters. Without it, an agent can spend a whole usage window fixing its own fix.

    Ford's warning comes back here. If models change every few months, what should a team standardize on? The answer I keep landing on is the layers underneath the model. The model is the easiest part to swap. The harness (tools, sandboxes, permissions) decides what an agent can touch. The context (AGENTS.md, skills, specs, docs) decides what it knows about your codebase. And the codebase's own checks (types, tests, linters, CI) decide how quickly a wrong change gets caught. Every improvement to a lower layer helps every model, including the next one.

    Standardize on the layers under the model

    MODELS · REPLACEABLERoute each task by cost, speed and qualitybest model for hard design, cheap for routineHARNESSTools, sandboxes, sessions, permissionswhat the agent can touch, and how safelyCONTEXTAGENTS.md, skills, specs, decisionswhat the agent knows about this codebaseCHECKSTypes, tests, linters, CIhow quickly a wrong change gets caughtchanges everyfew monthscompoundsover years
    Spend where the value compounds. AGENTS.md is now an open standard under the Linux Foundation, and tools like GitHub's Spec Kit treat the spec as the source of truth agents work from.

    Context is the most important layer. Agents re-ask settled questions when decisions live in chat threads and people's heads instead of the repository. A simple rule helps: if it isn't in the repo, it isn't decided. A fresh agent with no chat history should be able to answer five things cold: what we are working toward, what is next, what has been decided, who approves what, and what it may do without asking. A new hire needs the same five answers.

    In practice

    How consulting teams describe their approach

    I have read a few AI delivery plans from engineering consultancies this year. The better ones share three habits, shown below. Every step is plain code, an AI draft or a person's decision. A person is either a gate (work waits for them) or gives feedback (work keeps going).

    One example pipeline: every step has exactly one mode

    PLAIN CODECheck incomingdataPLAIN CODEFlag a brokendata feedAI DRAFTSDraft a code fixas a pull requestPERSON: GATEApprove the fixwork waits herePLAIN CODEFix goes live,pipeline resumesPERSON: FEEDBACKLater, an expert corrects a wrong output.Nothing waits on them.the correction improves the next draftGate: work stops until a person says yesFeedback: work keeps going; the correction is saved for next time

    Their tool stacks look alike too: Claude Code plus open tools such as OpenSpec or Spec Kit for specs, Superpowers for a spec, plan, execute routine, Matt Pocock's skills for grilling designs and writing tests first, and Caveman to cut token costs.

    What I keep wondering about is the last step. Every AI-drafted change still gets the same pull-request review as handwritten code. That is safe, but if the Faros numbers are close, review is exactly where the time goes. And the cost being tracked is tokens, when cost per finished, working change might tell you more.

    The landscape

    Who else is working on this

    A lot of people are attacking pieces of this, and when I group what I have looked at by which part of the line it covers, it looks roughly like this.

    A rough map, October 2026

    Intent and specswhat to buildGitHub Spec Kit · OpenSpec · BMAD MethodAWS Kiro · TesslAgent habitshow agents work, what they knowSuperpowers · Matt Pocock's skills · CavemanAGENTS.md · Claude Code skills and hooksBuilderswho writes the codeClaude Code · OpenAI Codex · CursorDevin · GitHub Copilot coding agentReview and checksis it rightCodeRabbit · Greptile · Graphitein-house AI reviewers (e.g. Cloudflare)Outcome feedbackdid it workSparse. Very little connects "shipped"back to "did it do what we wanted?"Whole-line platforms8090 · FactoryLightsprint · Buildful"software factories"
    Most of the energy sits in the top four layers. The bottom one is where I see the biggest gap.

    The whole-line platforms are the ones to watch. 8090 raised a $135M Series A in June, led by Salesforce Ventures, for what it calls a software factory: requirements and blueprints written in plain language, with agents turning them into code. Factory, Lightsprint and others are going after the same idea from different directions. On the in-house side, Cloudflare has written about an AI spec reviewer that looked at hundreds of technical designs before implementation, and an AI code reviewer that blocked thousands of merges that broke their engineering standards.

    Looking across all of it, a few things still seem missing to me:

    • A shared measure. None of the factory vendors I looked at publish how often a change merges on the first attempt, or what a finished change costs end to end. Their numbers come from case studies and partner announcements, without a published method.
    • Review capacity as a real limit. Most setups let agents start as much work as the budget allows, regardless of whether anyone can check it.
    • Shared memory as infrastructure. Context still lives in chats and in people's heads.
    • Owners for stops. When something stops, it is often unclear who decides.
    • Re-tuning when models change. Every new model shifts which steps are still needed. Few teams re-test their setup when one ships.
    • The loop after release. Did the change do what we wanted, and does that answer reach the next spec?

    Measurement

    Measuring the line, not the activity

    Most AI dashboards I see count activity: pull requests opened, lines written, the share of code written by AI. Those are easy to produce and easy to game. Faros's numbers show why they mislead, since teams merged far more pull requests without delivering more. A factory would never judge a line by how many parts it started.

    The KPI tree below is how I would set it up. Report the business outcome and DORA's delivery metrics, which gained a fifth measure in 2024: rework rate, the share of deployments that are unplanned fixes. Manage the team measures and levers underneath them. If review time and rework rate rise while pull request counts climb, the line is getting slower, not faster.

    A KPI tree for AI in the software lifecycle

    OUTCOMEDELIVERYTEAMLEVERSBusiness outcomeshipped changes that move customer and revenue metricsDeploymentfrequencyChangelead timeChangefail rateRecovery timeafter a failureRework ratenew in DORA 2025Review timewhere the queue now sitsPR sizesmall changes review fasterEscaped defectsbugs found after mergeContext coveragerepos with agent instructionsReviewer accuracyreal findings, few missesTest speedfast feedback for agentsACTIVITY, NOT A TARGETPR count, lines of code,% of code written by AIUseful signals, poor goals.Easy to raise withoutshipping anything more.
    Each level drives the one above it. Manage the bottom two; report the top two.

    Experiments

    What I would try now

    If I were running an engineering team today, these are the experiments I would start with.

    1. Measure finished, working changes. Track the cost and human minutes behind each change that ships and stays shipped, and put rework rate next to your DORA metrics. Stop reporting pull request counts as progress.
    2. Cap work in progress at review capacity. If review is the slowest step, more agents only make the queue longer. Pull new work in when someone can check it.
    3. Tier review by risk. Let AI reviewers handle style, tests and routine bugs, and send people only where judgment matters: security, money, customer trust. Cloudflare sorts every merge request into trivial, lite or full review, and a trivial one costs about 20 cents.
    4. Write your standards down where agents can read them. Rules, decisions and interfaces belong in the repo as plain MUST and SHOULD statements. Start each rule as advice and make it blocking once it proves itself. Cloudflare's Codex works this way, and its reviewer has held back about 16,000 merges.
    5. Give every change a spec and a way to check itself. Anthropic's own advice is to give the agent a target it can verify, such as tests written first. 8090 goes further and keeps requirement, spec, code and test linked, so drift gets flagged instead of discovered a year later.
    6. Close the loop, and re-tune when models change. After release, ask whether the change did what it was meant to and feed that into the next spec. When a new model ships, rerun a small test and try removing one step to see if it still earns its place.

    Open questions

    What I am still unsure about

    I started with two questions and ended up with more. These are the ones I keep turning over:

    1. In a few years, will people still review code, or only the decisions and the outcomes?
    2. When a product manager or a CEO can open a pull request, who owns the stop when it breaks?
    3. What is the right unit of measure: cost per change, time to working software, or something else?
    4. How do you keep a line current as models change every quarter, without retraining your team every quarter too?

    If you are running agents on your team, I would like to compare notes.

    Sources