Spec-Driven Design: Write the Spec Before the Code

Most teams already write something down before coding — a requirements doc, a design doc. The problem isn't that this doc doesn't exist. It's that once coding starts, the doc stops being maintained, the code quietly becomes the real source of truth, and nobody goes back to update the doc to match. Spec-driven design keeps the spec live: it stays the source of truth the whole way through, and code, tests, and docs get built and re-checked against it — not just once at the start.