How to build
a software factory?

Bennett Clement · FUNDA

Half of my work runs autonomously.

2,451 of 4,821 merged PRs since July.
Features: my sessions Operations: loops Benny, my ops bot

What is a software factory?

Agentic software factory diagram

What most teams have today.

Agentic software factory diagram, with the coding agent, CI and human code review circled
coding agent
CI
human review

How to get there.

01
Fix your codebase
02
Close the testing loop
03
Build loops
01

Fix your codebase.

01 · Codebase

Agents amplify your codebase.

Four layers of codebase guardrails: codebase, static analysis, prose, human review
01 · Codebase

Set up golden paths.

Four layers, with the codebase and static analysis layers highlighted
golden paths
architecture (DDD)
lints + CI
01 · Codebase

Rewrite. Code is (now) cheap.

Delete
  • Unused experiments
  • Unused features
  • Stale feature flags
Big refactorings
Unsafe type casts
1,482 → 0
in 4 days · rule → ratchet → drain
Core data model, 3 repos
~420 PRs · built in 3.5 weeks
02

Close the testing loop.

02 · Testing

Make your agents see.

… so they can test like a human.
02 · Testing

Slopfork your dependencies.

(… for testing)
02 · Testing

Connect your agent to production.

Productionlive users
Agentreads logs, traces
Pull requestthe fix
Humanreviews, merges
deploy
03

Build loops.

03 · Loops

Run gardening loops.

~2,200
PRs merged
~1,200
runs: nothing to do
03 · Loops

Build self-improving loops.

Learn from past fixes and trajectories.
03 · Loops

Take yourself out of the loop.

Always be thinking: can an agent do this? Can I trust it to?

Open challenges remain.

01
Always-on security agent
02
Safe production access for agents
03
Software factory infra

Code is cheap.
Rigor is not.

Tweet by Thariq (@trq212): very weird thing happening rn. Technical people are sad, they think their skills are now useless. Non-technical people are desperately wishing they were more technical so they could use agents better.

Thank you.

QR code linking to linkedin.com/in/bennett-clement
← → · 0 first · 9 last · N notes (or tap the counter) · S split · R restart timer · T theme · F fullscreen