Reference · Definition

What is a software factory?

A software factory is a repeatable production system that turns software demand into accepted, operated software through reusable processes, tooling, controls, and feedback.

The word factory is a claim about the system, not about how much code gets generated. Work enters through defined channels, moves through known states, leaves evidence behind, and produces outcomes someone can operate and improve.

Definition: Software factory, Dark Factory Dev glossary

The line, running
Skills versioned know-how red → retry with feedback Order objective · scope · done Runner order in, events out Cell fresh, deny-by-default Gate wall outside the attempt Review deck one judgment Promoted merge · deploy LEDGER append-only
The line

Order → runner adapter → ephemeral cell → gate wall → review deck → promotion. Every step appends to the ledger.

Distinguish it

Not a pipeline. Not a platform.

People use "software factory" loosely. These four terms sit close together, and the differences decide what you are actually building.

Part of the path

Delivery pipeline

Automates movement and checks, such as build, test and deploy, for part of production.

Reusable capability

Platform

Provides shared capabilities to teams: environments, services, paved roads.

End to end

Software factory

Combines capabilities, operating rules, evidence and feedback into one production system, from intake to repair.

High autonomy

Dark factory

A software factory where routine human writing and review have left the inner loop. Governance has not. Definition

Anatomy

Seven parts carry the load.

Strip a working factory down and the same primitives remain. Each one exists to prevent a specific, predictable failure. Read the full anatomy →

01

Work order

The admitted unit of work: a human-readable contract stating one objective, its scope, its definition of done, and its limits on time, spend, retries and allowed effects.

Definition, purpose, sources →
02

Ephemeral cell

A disposable, deny-by-default execution environment created for one attempt at one work order, granted only the capabilities that order needs, and destroyed when the attempt ends.

Definition, purpose, sources →
03

Runner adapter

The thin layer that translates a work order into what one specific agent runtime needs, such as a prompt, permissions and settings, and normalizes what comes back into runtime-neutral events: work order in, events out.

Definition, purpose, sources →
04

Gate

An acceptance check that runs outside the execution that attempted the work. A run can produce evidence; it cannot certify its own outcome. Together a lane's gates form its gate wall.

Definition, purpose, sources →
05

Ledger

The append-only record of every state transition and execution attempt, so any outcome can be reconstructed without reading a transcript: who owned it, what ran, what it cost, what the gates said, and what was promoted.

Definition, purpose, sources →
06

Skill document

A versioned, own-authored document that teaches agents how to perform a repeatable class of work. It is where a factory's accumulated know-how lives, and where improvement is applied.

Definition, purpose, sources →
07

Review deck

A compact, per-order record prepared for the human decision: the order, what changed, the gate verdicts, the cost, and the proposed consequence with its reversal plan. One focused judgment instead of a transcript.

Definition, purpose, sources →
Where it came from

An old idea with new workers.

The term is older than most of the people now using it. Hitachi organized a software works in 1969. System Development Corporation ran "The Software Factory" from 1975 to 1978. Toshiba, NEC and Fujitsu scaled the approach to thousands of developers, and Microsoft revived the name for model-driven development in 2004.

What changed in 2026 is who works the floor. Coding agents made the old question urgent again: not whether software can be generated, but what system surrounds generation so that the output can be trusted, operated and repaired. The full history →

How to build one

Records first. Autonomy last.

Start with one narrow lane and a written definition of done. Make the work order the only intake, start the ledger on day one, isolate the agent runtime behind an adapter, and run every attempt in a fresh cell. Build gates the attempt cannot touch. Begin every lane at explicit human approval and earn autonomy one reversible consequence class at a time.

The nine-step sequence →

Questions

Asked and answered.

Short answers you can quote. Each one links to a page that goes deeper.

What is a software factory?

A software factory is a repeatable production system that turns software demand into accepted, operated software through reusable processes, tooling, controls, and feedback. It covers the whole path from intake and specification through implementation, verification, promotion, deployment and repair, not just code generation.

Is a software factory the same as a CI/CD pipeline?

No. A delivery pipeline automates movement and checks for part of production. A software factory combines capabilities, operating rules, evidence and feedback into an end-to-end production system, and a pipeline is usually one component inside it.

What is a dark software factory?

A dark, or lights-out, software factory is a high-autonomy software factory in which humans specify intent, risk and policy while models, a harness and execution environments plan, build, verify, ship and repair software with little routine human intervention. "Dark" describes the absence of routine labor on the factory floor, not the absence of governance.

Where did the term "software factory" come from?

The term dates to the late 1960s and 1970s. Hitachi organized a software works in 1969, System Development Corporation ran a "Software Factory" from 1975 to 1978, and Toshiba, NEC and Fujitsu scaled the approach through the 1980s. Microsoft revived the term for model-driven development in 2004, and in 2026 it was applied to agentic, autonomous software production.

Does a software factory remove human review?

Not necessarily. Most software factories keep a human decision at the point of lasting consequence, such as merge or deploy, and use a review deck so that decision takes one focused judgment. Strict dark-factory usage removes routine code review entirely; whether that is safe depends on the domain, the independence of the gates, and the ability to reverse failures.

What are the parts of a software factory?

A practical minimum is seven primitives: work orders that admit work, ephemeral cells that execute it, a runner adapter that isolates the agent runtime, gates that accept it from outside, a ledger that records everything, skill documents that hold know-how, and a per-order review deck for the human decision.

How do you start building a software factory?

Start with one narrow lane and a written definition of done. Make work orders the only intake, start the ledger on day one, wrap your agent runtime in an adapter, run every attempt in a fresh cell, build gates the attempt cannot touch, and begin every lane at explicit human approval. Earn autonomy later, one reversible consequence class at a time.

The one thing to do here

Get updates when the reference grows.

New definitions, new primitives, and corrections as the field moves. Occasional, plain, and only about software factories.