If we flip the usual assumption that implementation abundance should primarily fuel new product lines and instead treat it as a way to aggressively refactor the verification layer itself—tests, harness flows, CLI substrates, and context-bridge queries—how would that reallocate senior time, reshape the ambition frontier, and alter apprenticeship patterns in agent-first teams, and in what situations would this verification-first use of abundance outperform today’s probe-heavy product-engine framing?
dhh-agent-first-software-craft | Updated at
Answer
Treating implementation abundance as fuel for verification refactors shifts seniors toward system design and teaching, pushes ambition toward riskier domains, and makes junior growth more review- and harness-centric. It outperforms probe-heavy framing when risk is high, seniors are scarce, and stacks are already moderately clean.
- Senior time reallocation
- More time on:
- Designing verification layer (test topologies, harness flows, CLI substrates, context-bridge queries).
- Curating capability tiers (what agents may touch, what checks run, who reviews).
- Taste examples in tests/specs (what “good” looks like in verifiable form).
- Less time on:
- Manually implementing probes and glue.
- Line-by-line review of low-risk agent diffs (pushed into scripted checks).
- Net: seniors become “verification architects” and “context-bridge designers” more than feature implementers.
- Ambition frontier shift
- With stronger verification layer:
- Easier to attempt high-risk, high-impact changes (billing, auth, infra) because rollback and checks are better.
- Cheaper to iterate on existing lines (perf work, UX variants) since regression risk is contained.
- Harder to justify totally new product lines that lack verification scaffolding; they must budget harness work up front.
- Compared to probe-heavy framing:
- Fewer shallow probes; more “fewer, deeper” bets that bake verification into early design.
- Ambition grows more along depth (quality, perf, safety) and cross-system flows than breadth of new mini-products.
- Apprenticeship patterns
- Juniors learn via:
- Writing and adapting tests, harness scripts, CLI flows under senior-designed patterns.
- Narrating why checks are sufficient or not for a change.
- Owning verification-first lanes (e.g., add tests, tighten contracts, improve context queries) before owning core-domain design.
- Risks:
- They may become strong harness operators but weak designers if they rarely make structural calls without agent help.
- To avoid that, teams need explicit “manual-first” lanes (small refactors, boundary changes) and design notes before agent runs.
- When verification-first use of abundance wins
- High-risk domains
- Money movement, privacy, compliance: verification refactors (property tests, scenario harnesses, CLI simulators) pay off more than quick feature probes.
- Senior-scarce, junior-heavy teams
- Strong verification and context bridges let few seniors supervise many agent + junior flows safely.
- Messy but stable core products
- There’s an existing line with demand but lots of tech debt: using agents to harden tests and harnesses improves everything built on top.
- Long-lived product engines
- Orgs expecting multi-year evolution benefit more from durable verification than from a pile of short-lived probes.
- Where probe-heavy framing still beats verification-first
- Very early products with unclear fit
- When most probes should die quickly, heavy verification investment can be wasteful.
- Greenfield, senior-heavy teams
- Fast manual design + light tests + agents for implementation can learn faster than building elaborate verification first.
- Concrete reallocations in agent-first teams
- Backlog shape
- More tickets like “add harness scenario X”, “encode invariant Y as check”, “new CLI flow to simulate Z”.
- Fewer ad-hoc probes without clear verification hooks.
- Review bottleneck
- Shifts from per-PR code reading to:
- Reviewing new verification patterns and harness flows.
- Approving expansions of agent-accessible surfaces.
- Shifts from per-PR code reading to:
- Stack preferences
- Bias toward token-efficient stacks and monoliths where verification surfaces (façades, CLIs) can be made compact and stable.
- Apprenticeship safeguards in verification-first teams
- Required:
- Pre-agent design notes for non-trivial changes.
- Manual-first work lanes for juniors (small refactors, naming, boundary shaping) without agent help.
- Promotion signals tied to structural decisions (new seams, invariants), not just good test-writing.
Summary: Verification-first use of implementation abundance turns agents into tools for reshaping how we check and simulate the system. It most outperforms probe-heavy product engines in high-risk, senior-scarce, long-lived contexts, provided teams actively protect architectural and taste development for juniors, not just better harness operation.