Marc Brooker argues that spec-driven development is not a return to waterfall. Specifications are living, versioned, iterative artifacts that sit upstream of implementation — not static up-front designs. The key distinction is that the specification itself is what gets iterated on, not just the code. This approach is especially powerful for AI agents, which can work autonomously for longer periods when given a clear specification as a map. Humans remain critical for resolving conflicting requirements and guiding the outer loop, while AI handles implementation derived from the spec. Brooker sees spec-driven development as the next abstraction layer in software engineering, following the progression from switches to gates to code.
Sort: