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