Spec Driven Development
Marc Brooker (AWS/Kiro) argues that spec-driven development is NOT waterfall — specs are living, iterative artifacts that serve as the level of abstraction above code.
Key Claims
- Spec-driven development ≠ waterfall. Specs are iterated on, not fixed up-front
- Specs are the map vs vibe coding’s turn-by-turn directions
- Key advantage: allows agents to run autonomously for long periods with a clear map
- The iteration cycle is the same as before, but potentially much quicker because of AI
- Specs keep context on the bigger picture, serve as always-in-sync documentation
- “The future is specification-driven” — raising abstraction from switches → gates → instructions → code → specs
Takeaways
- Strongest argument for specs: agents produce better code when they can see the big picture
- This is the Kiro product thesis — spec → autonomous agent → implementation
- Connects to Claude Code spec workflow (two-phase: spec session → implementation)
- The determinism question deferred: LLM non-determinism in spec-to-code isn’t actually a big deal
Connections
- Claude Code Spec Workflow — practical spec pattern
- Coding Agents — agents benefit most from specs
- Harness Engineering — specs as a form of harness