Most software can't be spec'd up front x.com
Steve Krouse’s problem with spec-driven development: most software can’t be specified up front, because “software is a creative act, where you figure out what you’re building as you build it”. You need your hands in the details, reacting to incremental versions.
A useful tension with the constraints school (constrain the agent, Uncle Bob’s gauntlet): constraints assume you know what to constrain.