A work order.
Written before anything runs.
NEWCloud agents are live.See how
What it is, where it came from, what AI code generation changed, and how to run one.
Work arrives as a standard order, is built in isolation from other work in progress, and passes the same inspection before it ships. The same order should produce the same outcome twice.
In one sentence: a software factory turns software delivery from a series of one-off projects into a line, where every unit of work follows the same path from order to inspection to merge. The term names a way of organising the work, not a particular tool, and it is older than most of the tools now sold under it.
It matters again because coding agents made the building step cheap. When a dozen units can be built at once, the questions that decide whether the result is useful are factory questions: what goes in, how the units are kept apart, and who checks what comes out.
Written before anything runs.
Kept apart from other work in progress.
The same one on every unit.
Instead of retyped for every unit.
The phrase is older than the internet. It surfaced in the late 1960s, the same years the 1968 NATO conference popularised "software engineering", as a reaction to projects that ran late and over budget: if hardware could be manufactured predictably, why not the programs that ran on it?
Hitachi opened what it called a software factory, its Software Works, in 1969. Toshiba, NEC and Fujitsu followed with their own through the 1970s; Toshiba's Fuchu software factory, opened in 1977, is the best documented. They standardised methods and tools, reused code across projects, trained staff on one process and measured everything. MIT's Michael Cusumano documented them in Japan's Software Factories (Oxford University Press, 1991), the standard history of them. His finding was that the approach worked best for families of similar systems, and depended on management and a standardised process as much as on tools.
Jack Greenfield and Keith Short of Microsoft revived the term in Software Factories (Wiley, 2004). Their version was about product lines: domain-specific languages, models, patterns and frameworks that let a team assemble a family of applications instead of hand-writing each one. Much of it shipped as Visual Studio guidance and tooling. The emphasis on reusable assets and a defined process carried over; the model-driven machinery mostly did not.
The US Air Force started Kessel Run in 2017 to build and ship software in house with modern practices, and Platform One followed as a shared DevSecOps platform other teams could build on. The Army Software Factory and many other units followed. In that world, a software factory means an in-house team plus a hardened pipeline that can take code to production quickly and repeatably, which is the closest of the three eras to how the word is used now.
Every earlier software factory was organised around a scarce resource: the people who write code. Standard methods, reuse and pipelines all existed to get more out of each engineer's hours.
Coding agents removed that constraint for a large share of everyday work. A well-specified ticket can be built by an agent in minutes, and nothing stops ten of them running at once. An AI software factory, sometimes called an agentic software factory, is the line rebuilt around that fact: agents at the building station, people at intake and review.
What did not get cheaper is everything around the build. Somebody still has to decide what is worth building and write it down precisely. Ten agents in one checkout will overwrite each other, so every unit needs its own workspace. And every unit that comes back still needs a person to read the diff and decide. The bottleneck moved from writing code to running, reviewing and shipping it, which is exactly the part a factory organises. See what vibe coding looks like on a board for the single-developer version of the same shift.
Names vary between teams, but every working line has the same stations. Skip one and the work piles up at the next.
Work enters as an order with a fixed shape: the outcome wanted, what done looks like, and the files or systems in scope. A request that cannot be written in that shape is not ready for the line, and the cheapest place to find that out is here, before anything runs.
Before a line of code, the order is turned into steps and checks: what will change, in what order, and how each claim will be verified. A plan is short and it is reviewable. Reading ten lines of plan costs a minute; reading a wrong diff costs an afternoon.
Each unit is built in its own workspace, typically its own branch and git worktree, so two units in flight never edit the same copy of the code. Isolation is what makes parallelism safe: a unit that fails can be thrown away without touching anything else.
Every unit passes the same written definition of done: type checks, tests, lint, and where it matters a run of the real app or a screenshot. The point is that the inspection is identical for every unit. A check that runs only when somebody remembers it is not a station.
A person reads what came back, the diff and the evidence from inspection, and decides: ship it, or send it back with a reason. Review is where judgement lives, and in a line with generated code it is the station that sets the pace of everything else.
Accepted units merge into the base branch and go out through the normal release path. Because units were built apart, some will overlap at merge time; resolving that is part of the station, not an exception to it.
What ships is watched, and what the line learns goes back into it: a convention written down, a check added, a skill installed. This is the station that makes the next order cheaper than the last one.
There is no standard scale, so here is the one we use. Each level hands more of the line to agents.
Fredrin runs Level 5 for the teams that choose it, and it is how Fredrin itself is built: its founders no longer read the code. It is opt-in. People still decide what is worth building, and merges happen on their own only if the team wants them to.
What replaces human review is a set of checks, each one a station on the line:
The honest caveat: the risk moves from review to the checks, and a check only catches what someone thought to check for. That is what Struggles is for. It shows where Workers got stuck or were corrected, traces each one to a root problem and files the fix, so the checks get better as the line runs.
| Term | What it is | What it covers | Where it stops |
|---|---|---|---|
| Software factory | A production line for software, end to end | Intake, isolated builds, inspection, review, merge, feedback | Deciding what is worth building |
| CI/CD | Automation that builds, tests and deploys a change | The inspection and shipping stations | How work enters, how units in flight are kept apart, review |
| DevOps platform | A suite for source control, pipelines and operations | Repositories, pipelines, deployment, monitoring | The shape of the order and the review queue |
| Internal developer platform | Self-service infrastructure a platform team offers developers | Environments, templates, golden paths | Producing and inspecting the units themselves |
| AI factory | A data centre built to train and run AI models | Compute, models, inference | Software delivery: it makes tokens, not shipped features |
The short version: CI/CD and DevOps platforms are parts a factory is built from, an internal developer platform is the floor it stands on, and an AI factory in the data centre sense is a different thing that shares a word. A software factory is the line itself, including the stations no pipeline runs: the order and the review.
Choosing a product to run one? See software factory platforms, compared: what each one is and who it suits.
None of these needs new infrastructure on day one. A board, git worktrees and a written list of checks will run a small line; the rest is discipline. The tooling step is the one most teams skip and most regret: it is covered in more depth in how agent skills work and in Fredrin's Brain docs.
A factory that starts a lot of work looks productive and may not be. These are the measures that tell you whether the line is actually delivering, and where it is stuck.
There are no universal targets for these. Measure your own line for a few weeks, then change one thing at a time and watch which number moves.
Comes out badly specified, faster.
Every finished unit wants a human decision.
Isolated units still have to merge.
The common ways a software factory fails, roughly in the order teams meet them:
It gets a plan, its own branch and git worktree, and checks that land in Review with the diff. Agent skills load when a task needs one.
Fredrin is a desktop kanban board that puts you in command of the line at level 3: many lanes building in parallel, and every unit landing for your decision. Here is one ticket going through it.
The board shows every unit's station at a glance, which is what turns review from a hunt through terminals into a queue. Read how Workers run tickets in parallel, or see AI coding on a board and cloud agents for running the line with your laptop shut.
A repeatable production line for software: a standard order in, isolated builds, and one written definition of done every unit passes before it ships. The term describes how the work is organised, not a specific tool.
A software factory where AI coding agents do most of the building. Each unit of work gets its own agent and workspace, many run in parallel, and people move to the stations that still need judgement: writing the order and reviewing what comes back.
Hitachi's Software Works from 1969 and Toshiba's Fuchu software factory from 1977 in Japan; Microsoft's Software Factories initiative from 2004; and US military units such as the Air Force's Kessel Run and Platform One and the Army Software Factory. Today the term also describes teams that run many AI coding agents in parallel through one review queue.
A line where no person reads the code before it ships, named after lights-out manufacturing plants that run without people on the floor. Agents write, check and merge the work. Fredrin runs it for the teams that opt in, and so does its own team; the risk moves from review to whatever the checks fail to catch.
No. CI/CD is one station of it, the inspection and shipping end. A factory also covers how work enters, how units in flight are kept from colliding, and who decides what ships.
DevOps is a culture and set of practices that joins development and operations; a DevOps platform is the tooling for it. A software factory is the production line built on top: the order format, isolated builds, a fixed inspection and a review station. Most factories run on DevOps tooling.
Write an order template, give every unit its own branch and worktree, install project context and skills once, define one inspection with exact commands, put a review queue in front of the merge, cap work in flight to what you can review, and measure throughput, review queue, rework and lead time.
In the US Department of Defense, a software factory is an in-house team and platform that builds and ships software for the military with modern DevSecOps practices. Kessel Run, Platform One and the Army Software Factory are well known examples.
Producing code stopped being the constraint. Deciding what to build, keeping parallel work apart, and checking what came back are now most of the cost, which is exactly what a factory organises.
Fewer than the machine can start. Every finished unit wants a human decision, so review attention is the limit, not compute. Start with as many as you can review the same day and raise it when the queue stays short.
No. Real tickets, a branch per unit and the same checks on every one is already a factory, run by hand. Agents make it cheap to have many units in flight.
No. On this page it is a general term for a way of organising software delivery, not a product. Fredrin uses it that way. Fredrin is the Multiplayer Software Factory that runs the line: people decide, a Worker builds each ticket, checks run on every unit, and merges happen on their own if you want.
More terms in the glossary.