2026-08-20

A Citizen Developer Is Not a Software Factory

Letting anyone ask for software is useful. Letting anyone quietly become the entire software delivery system is how a fast demo becomes a permanent liability.

Access to building is not a delivery system

The citizen-developer promise sounds obvious now: the person closest to a problem should be able to describe the tool they need and get working software back. AI makes that interaction real. A finance lead can explain a reconciliation problem. An operations manager can describe a broken handoff. A salesperson can sketch the workflow that keeps losing deals. None of them needs to wait for a developer to translate every sentence into code.
That is a better intake mechanism. It is not, by itself, a better production mechanism. The request still has to become an explicit specification. The generated change still has to respect permissions, data boundaries, architecture, cost, and every ugly condition the happy-path demo avoided. Somebody still has to prove the result outside the builder's chosen conditions and watch what happens after release.
A friendly interface can hide those missing stages. It cannot replace them. When the same person supplies the request, accepts the output, and decides it is safe, speed has not removed governance. It has removed the distance that made weak governance visible.

Intent needs a route, not a prompt box

Most business requests arrive as consequences, not specifications. A person knows that a report takes too long, a handoff keeps failing, or a customer cannot complete a task. They may not know which system owns the truth, which exception matters, or what must remain unchanged. That is normal. It is also exactly why the first generated answer cannot be treated as finished software.
A factory turns that intent into something buildable. It finds the relevant systems, surfaces conflicts, names the decision owner, and writes acceptance conditions before implementation begins. If two interpretations carry different business consequences, the route stops and asks a human to choose. Once the choice is made, the machinery can carry it consistently through build, proof, release, and production monitoring.
The model is not the differentiator here. Better models will make the first draft faster and more convincing. The durable advantage is the route that knows which context matters, which authority the request carries, what evidence permits a release, and where production feedback belongs on the next run.

Permission should follow consequence

People already have different authority inside a business. They can view some records, change some policies, spend within certain limits, and approve particular risks. A software request should not gain broader authority just because an AI can implement it. The factory must preserve the requester's real permissions all the way into the systems the change can touch.
That means identity, access, data handling, deployment scope, and rollback are part of the work, not a security review stapled on at the end. A low-risk internal view can take a short route. A change that writes financial data or affects customers should meet stronger gates and named approval. The person asking should not need to understand every control, but the system executing the request must enforce them every time.
This is where unmanaged creation becomes dangerous. A spreadsheet macro, a hidden automation, and an AI-generated application can all become critical without ever becoming governed. The business discovers the dependency when its author leaves, an upstream field changes, or an innocent edit sends the wrong action downstream. Convenience created the asset. Missing machinery created the liability.

The requester cannot be the whole proof

The person who understands the problem should judge whether the result solves it. That judgment matters. It is not enough. A requester can confirm that the screen looks right and still miss a permission leak, a destructive edge case, a false assumption in the data, or a failure that appears only under production load.
Independent proof checks the consequence the builder was likely to overlook. Tests exercise the acceptance conditions. Policy gates inspect access and data movement. A separate verifier attacks the generated change instead of defending it. Production signals then close the loop, turning real failures into new constraints rather than stories somebody has to remember next time.
This is not an argument for putting a manual review committee behind every small tool. Human coordination does not become valuable merely because the alternative is risky. The point is to mechanize the checks, escalate only the decisions that require accountable judgment, and retain the evidence automatically. The factory should make the safe route faster than the shortcut.

The role will not survive unchanged

The citizen-developer idea is often sold as a way to help more employees build while leaving the software organization intact. We do not think that is where this ends. When business intent can enter a governed factory directly, much of the translation, ticket movement, routine implementation, manual checking, and release coordination between the requester and production disappears.
Some people will move higher in the system. They will choose outcomes, define standards, own architecture, and decide which consequences are acceptable. Others whose jobs consisted mainly of carrying information between stages will not have the same job. The factory retains the process, executes it repeatedly, and does not need a meeting to remember what the last run learned.
Our prediction is simple: the winning organization will not turn every employee into a part-time programmer. It will let more people state what the business needs, then let governed machinery do the repeatable delivery work. Broad access to intent is the useful part of citizen development. The software factory is what makes that access safe enough to matter.
In response to The Citizen Developer by Massdriver.