A sufficiently detailed spec is code
6 hours ago
- #software-engineering
- #agentic-coding
- #specifications
- Agentic coding advocates claim to generate code purely from specification documents, but the author argues this is misleading.
- Two main misconceptions are identified: specification documents being simpler than code, and specification work being more thoughtful than coding.
- The Symphony project by OpenAI is critiqued as an example where the 'specification' is more like pseudocode or outright code, not a true specification.
- The author demonstrates that making a specification precise enough to generate code turns it into something resembling code, defeating the purpose.
- Attempting to generate code from the Symphony specification resulted in flaky, non-functional output, highlighting the unreliability of this approach.
- The YAML specification is cited as another example where detailed specifications still lead to non-conforming implementations.
- The push to devalue labor in tech leads to specification documents that are sloppy and lack coherence, as seen in Symphony's 'specification'.
- Specifications are not time-saving devices; optimizing for delivery speed over clarity results in poor outcomes.
- The principle of 'garbage in, garbage out' applies: unclear or poorly detailed specifications cannot reliably produce good code.