
The Spec That Saved Six Weeks: How Writing It Down Before You Build Changes Everything
James Mitchell
There’s a meeting that happens at almost every startup, usually around week three of a sprint that was supposed to be two weeks. Someone opens a Figma file and an engineer says, wait, that’s not what I thought we were building. The room gets quiet. Then everyone starts talking at once.
I’ve been in that meeting more times than I can count. And the thing I’ve noticed is that it almost never happens because someone made a technical mistake. It happens because two people had different mental models of the same feature, and nobody created a moment where those models had to collide before code was written.
This is the problem that specs solve. Not the writing-it-down part. The collision part.
What a Spec Actually Is (And Isn’t)
When I say spec, I don’t mean a 40-page requirements document from a waterfall project in 2008. I mean something much simpler: a written description of what you’re building and why, with enough detail that someone who wasn’t in the original conversation can read it and build approximately the right thing.
That definition does a lot of work. Notice it says approximately the right thing, not exactly the right thing. Specs aren’t contracts. They’re alignment tools. The goal isn’t to describe every edge case upfront — it’s to surface the most important questions and decisions before implementation starts.
A good spec answers four questions:
- What problem are we solving? Not the solution — the actual user or business problem that motivated this work.
- What does success look like? Specifically enough that you’d know if you achieved it.
- What are we explicitly not doing? Scope boundaries save more time than detailed feature descriptions.
- What do we still not know? The open questions. The things that need answers before or during implementation.
That’s it. One or two pages. Maybe a diagram. A list of open questions at the bottom that someone actually has to go answer.
The Spec Isn’t the Point — The Review Is
Here’s what most teams miss when they adopt specs: the document is not the value. The value is what happens when you circulate it.
When you share a spec with an engineer before they start building, you’re running a very cheap experiment. You’re finding out whether your mental model of the feature matches theirs. Usually, it doesn’t — not completely. There are edge cases you hadn’t thought through. There are implementation constraints that change what’s possible. There are adjacent systems that will need to change and that nobody mentioned in the planning meeting.
Finding this out in a document comment takes ten minutes. Finding it out two weeks into implementation takes two weeks plus however long the rework takes.
This is why teams that invest in spec reviews don’t feel slower — they feel like they suddenly stopped wasting time. The bottleneck wasn’t writing specs. The bottleneck was building the wrong thing and then fixing it.
Why Engineers Resist (and Why They’re Not Wrong)
If specs are so useful, why does every engineering team treat them with varying degrees of skepticism?
Partly because the word itself carries baggage. “Spec” sounds like bureaucracy. It sounds like the thing that comes before you’re allowed to build, the document you have to produce to satisfy a PM before the real work begins.
But there’s also a legitimate critique. Most specs are too long, too detailed in the wrong places, and too thin on the actual decisions that matter. They describe the happy path in exhaustive detail and leave error handling, edge cases, and cross-system impacts as exercises for the reader. And then when engineers have to make judgment calls in those unspecified areas, the spec becomes a liability rather than a guide — because now it’s a document that described a world that doesn’t quite exist.
The solution isn’t no specs. The solution is shorter specs with sharper focus on decisions and open questions, not features and flows.
What Changes When AI Is Writing Your Code
This whole dynamic has gotten more complicated — and more important — in the last two years.
If you’re using AI tools for code generation, you’ve probably noticed that the quality of output is almost entirely determined by the quality of input. A vague prompt produces vague code. A precise description of the problem, the constraints, the edge cases, and the integration points produces something much closer to what you actually need.
In other words: a spec.
Teams using Cursor, Copilot, or similar tools are rediscovering the value of precise written descriptions — not as bureaucratic overhead, but as the primary input to their development workflow. The better you can describe what you’re building, the better the generated code. And the discipline of writing that description tends to surface the same kinds of alignment problems that traditional spec reviews surface: have you thought about what happens when the user does X? What does the error state look like? How does this interact with the existing authentication flow?
The prompt is the spec. Which means spec hygiene is now also an engineering skill.
The Four Documents Every Feature Actually Needs
I want to be practical here. Here’s what I’ve seen work for teams building at speed:
1. The One-Pager (Before Prioritization)
Before a feature goes into a sprint, someone — product, engineer, doesn’t matter — writes one page describing the problem, the proposed solution in a sentence or two, and why this is the right time to build it. This isn’t a design document. It’s a forcing function to make sure you’re agreeing on the problem before you start solving it.
This document often reveals that the feature you were planning doesn’t actually solve the problem you thought it did. That’s the most valuable thing it can do.
2. The Design Doc (Before Engineering Starts)
Once you’ve decided to build something, someone writes a design document. This is the traditional spec: what we’re building, how it works, what it connects to, what the data model looks like, what the API looks like. Not every decision needs to be here — just the ones that are hard to change later.
Crucially, this document ends with a section called Open Questions. Anything you don’t know yet goes there. Those questions get assigned. They get answered. The document gets updated.
3. The Implementation Notes (During Build)
As engineers build, they add notes to the design doc. What changed from the original plan? What edge cases came up? What decisions were made in the moment and why? This isn’t overhead — it’s five minutes a day of capturing context that would otherwise live only in someone’s head.
Future you (or the next engineer to touch this code) will thank present you.
4. The Postmortem Paragraph (After Ship)
One paragraph, written after you ship, answering: what did we get right, what did we get wrong, and what would we do differently? This closes the loop. It’s also how you build an organizational memory that survives team changes.
The Spec Review as Team Ritual
The best teams I’ve seen make spec review a ritual, not a process step. Every significant feature gets a design doc. Every design doc gets async review before implementation starts. Engineers are expected to comment on scope, feasibility, and technical concerns. Product is expected to respond to those comments before the sprint begins.
This sounds like overhead. It isn’t. It’s a forcing function that ensures the people who know the most about the system have a chance to shape what gets built before they start building it. Engineers stop feeling like they’re handed requirements from on high. Product stops feeling like their vision gets distorted in implementation. Everyone operates from the same written record of what was decided and why.
The ritual matters because it creates a cultural expectation: we write things down. We read each other’s thinking. We surface disagreements before they become bugs.
A Pattern Worth Borrowing
Linear, the project management tool that a lot of engineering teams use and admire, is famously meticulous about their design process. Their public writing on how they build things emphasizes clarity of decision-making and the importance of being explicit about tradeoffs before implementation. Not because they want to slow down, but because they’ve learned that the time you spend on alignment upfront comes back to you in velocity later.
Vercel has published similar thinking about how their team makes infrastructure decisions. Amazon’s famously rigorous use of written narratives in decision-making gets cited constantly in software circles — not as a curiosity, but as something people are trying to adapt to their own contexts.
The thread running through all of it: write it down, circulate it, create space for disagreement before it shows up in production.
Starting Tomorrow
You don’t need to overhaul your process to start benefiting from better specs. Start with one thing: for the next feature your team builds, before any code is written, have someone write two pages answering the four questions I listed earlier. Circulate it. Give it 24 hours for people to comment. Then go build.
See how different the implementation feels when everyone starts from the same written understanding. See how many fewer “wait, that’s not what I thought we were building” conversations you have at the end.
The spec that saves six weeks doesn’t have to be long. It just has to exist before the code does.
Priya Sharma writes about product engineering, team dynamics, and the gap between intent and execution. She’s worked with early-stage teams across fintech and developer tooling.