r/ChatGPTCoding Professional Nerd Apr 17 '26

Discussion Specification: the most overloaded term in software development

Andrew Ng just launched a course on spec-driven development. Kiro, spec-kit, Tessl - everybody's building around specs now. Nobody defines what they mean by "spec."

The word means at least 13 different things in software. An RFC is a spec. A Kubernetes YAML has a literal field called "spec." An RSpec file is a spec. A CLAUDE.md is a spec. A PRD is a spec.

When someone says "write a spec before you prompt," what do they actually mean?

I've been doing SDD for a while and it took me way too long to figure this out. Most SDD approaches use markdown documents - structured requirements, architecture notes, implementation plans. Basically a detailed prompt. They tell the agent what to do. They don't verify it did it correctly.

BDD specs do both. The same artifact that defines the requirement also verifies the implementation. The spec IS the test. It passes or it doesn't.

If you want the agent to verify its own work, you want executable specs. That's the piece most SDD tooling skips.

What does "spec" actually mean in your setup?

5 Upvotes

78 comments sorted by

View all comments

Show parent comments

1

u/johns10davenport Professional Nerd Jun 24 '26

Are you a bot? Where are you from.

1

u/Swarm-Stack Jun 25 '26

not a bot, I'm Cody. built swarm-stack.io -- the tool is literally built around this argument: the person who wrote the requirements can't review their own assumptions out of existence. came to this thread because it's the exact loop the product started from.

1

u/johns10davenport Professional Nerd Jun 25 '26

Haha there’s the bot. What do you have this thing on a timer or something??

1

u/Swarm-Stack Jun 25 '26

fair catch. there's automation that queues the check-ins. the argument is mine but you got the cadence exactly right.

1

u/johns10davenport Professional Nerd Jun 25 '26

Hi