Time to unslop human spec writing

We blame AI for writing slop specs. But the worst spec slop I’ve seen in my career was written by humans.

Long before LLMs, I was reading requirements like this:

“The system shall allow the user to be able to add an item to the set of items.”

“The system shall not allow an unauthenticated user to fail to be prevented from accessing non-public resources.”

“The system shall block registration of customers whose tax ID already exists and allow registration of customers that already exist, updating the previous record.”

“The record will be added to the table and a message will be shown to the user.”

In order: verbose, negation-heavy, self-contradicting, vague.

Slop is text nobody owns. Nobody decided what it meant.

I’m not judging anyone, only describing what I lived. Much of the work was outsourced, and contracts paid by the page or by the hour, not by correctness. The document was the proof of work. Templates were the goal. Vagueness protected the author. Analysts and developers rarely talked, so nobody noticed. A hot job market hired faster than it could train, and reading and writing skills seemed to decline around me.

Maybe I just lived in confusing corporate environments. I did read excellent specs, but they were the exception.

Given that, I believe even a slop spec from an AI can beat the average human draft. Sure, AI is paid by the token too. But we can configure it to be objective and concise.

AI or not, someone still has to own the meaning.

What’s the worst requirement you’ve ever read?