DISPUTED: no
Software Factory
Summary
A Software Factory is a production system that guarantees output by taking business intent as input and producing finished, accountable software — rather than being a tool or productivity aid. Originating in Japanese industry (Hitachi, 1969) and later codified in the book Software Factories (2004), this concept demands that software be built with statistical quality control, synchronized artifacts, operator-independence, complete traceability, and clear accountability for the final product. Modern AI‑coding tools often appropriate the term, but genuine software factories must pass five rigorous tests. A software factory also treats software development as an assembly‑line process, emphasizing standardized components, repeatable toolchains, and continuous integration to increase efficiency, quality, and maintainability.
Key Points
- A software factory is not a developer tool, an agent orchestration dashboard, or a benchmark — it is a production system that stands behind its output.
- The concept dates to 1969 (Hitachi’s “Software Works”) and was further formalized by Microsoft architects in 2004.
- The five tests define a factory: (1) input is business intent, (2) maintains coherence under continuous change, (3) independent of any specific person, (4) every unit of output is traceable, and (5) someone is accountable for the finished product.
- True factories prevent the “drift” that makes enterprise software illegible over decades — they keep intent, specification, code, tests, and production behavior synchronized.
- Most so‑called “software factories” in the AI tooling market are actually code generation agents with no accountability; a real factory answers the question “who takes the call when it breaks?” with “we do.”
- A software factory models development after manufacturing production lines, relying on automation, reuse, and well‑defined processes.
- It is often applied when modernizing large legacy systems built over decades — for example, dismantling an 18‑million‑line billing engine written in COBOL and Assembly.