What is a software factory? From DevSecOps pipelines to agentic factories, and the discovery gap
Three things people mean by software factory, what an agentic one automates, and the discovery gap it leaves open.

A software factory is an organized system for producing software at scale. Today the phrase usually means a DevSecOps delivery pipeline, an outsourced delivery center, or an AI-agent pipeline that turns specs into tested, deployed code.
The agentic version speeds up the build, and it still depends on discovery, decisions and shared context upstream. A software factory can turn a good spec into shipped code quickly. It can't tell you whether the spec was worth writing.
Search "software factory" and you get three different answers depending on who is writing.
Three meanings of "software factory"
Meaning | Rough era | What goes in | What comes out |
|---|---|---|---|
Industrial / platform idea | Decades old | Requirements, standards, reusable components | Consistent software from a shared production line |
DevSecOps / DoD pipeline | 2010s–now | Code and policy-as-code | Continuously built, secured and deployed software |
Agentic software factory | mid-2020s | Specs, signals, approved intent | Agent-built, tested and often deployed code |
All three share the factory metaphor: specialize the steps, standardize the inputs, and raise throughput. They differ on what is automated and where the process starts.
A short history
The industrial metaphor dates back decades: software treated like a manufacturing line, with reusable components, shared standards, and a production system instead of one-off craft projects.
More recently the phrase reappeared in DevSecOps, including at the U.S. Department of Defense, whose DevSecOps guidance defines a software factory as "a collection of people, tools, and processes that enables teams to continuously deliver value by deploying software to meet the needs of a specific community of end users." A critical part of it is the CI/CD pipeline, which automates develop, build, test, release and deliver. That meaning is still in use, and it describes a delivery pipeline rather than an AI coding pipeline.
A third, commercial meaning treats a software factory as an outsourced or nearshore delivery center: a dedicated team that builds to a client's backlog. That usage shows up in agency and SI marketing and describes how a team is organized rather than a technology.
The newest meaning is the agentic software factory: agents plan, write, test and ship against a written input, inside guardrails. The rest of this post covers that meaning, because it is the one that reaches into product work.
The agentic (AI) software factory: spec in, code out
An AI software factory follows a common pattern. A well-formed input goes in. That input is usually a spec, a ticket with acceptance criteria, or a "signal" that has already been turned into intent. Agents then:
- Plan against the input and house standards
- Implement in the repo
- Generate or run tests
- Open a pull request or push through a deployment path
- Loop on failures until checks pass or a human steps in
Humans set policy, approve risky changes and own the outcome. Agents do more of the execution. The factory executes and people steer, so its output is only as clear as the direction it gets.
Once intent is clear, the factory takes over the build half of the lifecycle. With good input, the pattern works for delivery. For product teams, the open question is what the factory assumes is already done.
What a factory needs as input
An agentic factory is only as good as what you feed it. In practice it needs:
- A decision. What are we building, and what are we explicitly not building?
- Evidence behind that decision. Customer signal, constraint, risk, or prior learning that justifies the bet.
- Constraints. Compliance, architecture boundaries, performance budgets, brand and accessibility rules.
- Acceptance checks. How will we know it worked, covering product intent as well as unit tests?
- Scoped context. Enough background for an agent to act without inventing the missing "why".
A ticket that says "add invoice export" leaves all of that out. The same work as a short decision brief (illustrative, made up):
Decision brief: invoice CSV export
Sample decision brief. Problem: Finance users can't get invoices out of the product for month-end close. Decision: CSV export of invoices first. Rejected: PDF bundles and scheduled exports in v1. Constraints: Respect existing role permissions. Never include payment card details. Done when: A finance user can export a filtered invoice list to CSV, and users without billing access can't see the export option.
Illustrative example
- Problem
- Finance users can't get invoices out of the product for month-end close.
- Decision
- CSV export of invoices first. Rejected: PDF bundles and scheduled exports in v1.
- Constraints
- Respect existing role permissions. Never include payment card details.
- Done when
- A finance user can export a filtered invoice list to CSV, and users without billing access can't see the export option.
| Field | Text |
|---|---|
| Label | Illustrative example |
| Problem | Finance users can't get invoices out of the product for month-end close. |
| Decision | CSV export of invoices first. Rejected: PDF bundles and scheduled exports in v1. |
| Constraints | Respect existing role permissions. Never include payment card details. |
| Done when | A finance user can export a filtered invoice list to CSV, and users without billing access can't see the export option. |
A sample brief you can read and copy. It is not a live specification.
The brief gives the factory the problem, the constraints and the definition of done before it starts. Spec-driven development is how that decision becomes executable; see our guide to spec-driven development for product teams.
The discovery gap
In the factory write-ups we've read, the process starts at the spec (or at a signal that is treated as already-understood intent). Factories assume someone has already:
- discovered the problem,
- negotiated the trade-offs across stakeholders,
- chosen a solution approach, and
- written that down so agents and other teams can use it.
In a small product team, a founder or lead can hold that in their head and type a good spec. In an enterprise, discovery and solutioning are spread across product, design, engineering, compliance, security and other teams. Teams negotiate the "business intent" a factory needs, often slowly, and often record it incompletely.
We call this the discovery gap, the distance between what the organization must decide before a build and what the factory receives. Cheaper builds leave the gap the same size and make it easier to see, because thin or contradictory intent now turns into thin or contradictory software faster.
Our pillar post explains why the AI SDLC is really a product lifecycle, with deciding what to build as the new bottleneck.
Enterprise view: many factories, many teams
At enterprise scale you rarely have one factory. You have several teams, several repos, several agent setups and several backlogs. Each can look productive in isolation, and they share one problem, context:
- Decisions live in meetings and slide decks
- Constraints live in chat threads and wikis
- Requirements live in tickets
- Standards live in rule files some agents never see
Each agent and each team sees a different slice, and faster factories ship on those mismatched slices faster. We cover that failure mode in the agentic SDLC and the enterprise context gap. For the task-level version of giving agents product context, see how to give AI coding agents product context.
Checklist: is your org ready to feed a software factory?
Use this as a readiness check.
- Can you point to a recorded decision (problem, approach, non-goals) for the next feature an agent will build?
- Can you trace that decision back to evidence as well as a stakeholder request?
- Are constraints (compliance, architecture, accessibility) attached to the work, not buried in another tool?
- Do acceptance checks cover product intent as well as technical correctness?
- Is there a single place agents and humans read current context, with an owner and a freshness rule?
- Do repo rule files encode standards agents must follow? (See AGENTS.md vs CLAUDE.md.)
- When two teams touch the same feature, do they share the same decision brief, or two different tickets?
If most answers are no, a factory will raise throughput on unclear intent.
Failure modes
- Building the wrong thing faster. Throughput without discovery quality compounds waste.
- Spec drift. The written spec diverges from the latest decision, and agents faithfully implement yesterday's intent.
- Context locked in tools. The factory can read the repo and the ticket, but not the design comment, the legal email or the architecture decision record.
- Review bottleneck. Agents produce more than humans can verify against original intent.
- Local optima. Each team's factory optimizes its backlog while the cross-team product outcome gets worse.
Where SteerFlow fits
Picture the factory as a line: decisions enter on the left, code leaves on the right. Agents run the right-hand side. SteerFlow is designed for the left-hand side, the product context layer that feeds the line, so the people steering can hand agents a complete brief instead of a thin ticket. It is designed to capture discovery and decisions as first-class records, turn them into specs agents can act on, and keep that context attached as work moves across teams. If the discovery gap is the part of the factory you feel most, we'd be glad to hear from you. Get in touch.
FAQ
What is a software factory?
A software factory is an organized system for producing software at scale. Depending on context, it can mean a DevSecOps delivery pipeline, an outsourced delivery center, or an AI-agent pipeline that turns specs into tested, deployed code.
What is an AI software factory?
An AI (or agentic) software factory uses AI agents to plan, implement, test and often deploy software against a written input, inside human-set guardrails. The build half of the lifecycle becomes a repeatable production path.
What is the difference between a software factory and a CI/CD pipeline?
A CI/CD pipeline automates build, test and deploy for code humans (or agents) already wrote. An agentic software factory usually includes that pipeline and adds agent-driven planning and implementation against a spec. Older "DoD software factory" usage is closer to a hardened CI/CD and platform path.
What is a DoD software factory?
The U.S. Department of Defense defines a software factory as a collection of people, tools and processes that continuously delivers software to a specific community of end users, with automation replacing manual processes and CI/CD pipelines at its core. It is closer to a hardened CI/CD and platform path than to an AI coding pipeline.
Do software factories replace engineers?
No. They change where engineers spend time: more on intent, standards, review and outcomes; less on repetitive implementation. Humans still own judgment, risk and accountability.
What do software factories need from product teams?
Clear decisions, evidence, constraints and acceptance checks, written so agents and other teams can use them. Factories accelerate delivery. Product teams still own discovery and the quality of the feed.



