Essay · 10 min read
Painless Functional Specifications, Part 2: What's a Spec?
Joel Spolsky · Joel on Software Free Intermediate
This is the clearest statement of the exact idea in our answer: a spec describes how the product works entirely from the user's point of view, and says nothing about how it is built. Spolsky, who shipped Excel and later founded Trello and Stack Overflow, spells out that your job is screens, flows, and what happens when the user clicks, not databases or architecture. Read it and you will stop apologizing for not knowing the stack.
- A spec talks about features, screens, and user actions, never implementation
- Nailing the user experience comes first, the how comes later
- Writing it forces the hard decisions out of your head before code starts