Spec Review Checklist Before Coding

Spec Review Checklist Before Coding
Spec Coding Editorial Team · Spec-first engineering notes

Most spec reviews are theater. Three people skim the doc, someone writes "LGTM," and everyone moves on with the same ambiguities intact. A real spec review catches the things that'll cost you a week later. Here's the checklist I run through before letting any spec past review.

Published on 2026-02-25 · Updated 2026-05-11 · 8 min read · Author: Spec Coding Editorial Team · Review policy: Editorial Policy

What a spec review is actually for

Spec review isn't a thumbs-up ceremony. It's the cheapest moment to find what's missing. Every ambiguity that survives into implementation costs roughly 10× more to resolve. Every one that survives into QA costs 50×. The review is where you spend five minutes now to save five hours later.

If a reviewer walks away thinking "that was a good doc," the review probably failed. A good review produces a list of things to fix, not applause.

The checklist, grouped by risk

I group the checks by where ambiguity hurts most. Scope and decision ownership first — those surface the biggest misalignments. Then acceptance and edge cases, where implementation invention happens. Then rollout and rollback, which determine whether a bad deploy can be stopped at 2am.

Scope and decisions

Acceptance criteria

Edge cases and failure modes

Rollout and rollback

How to actually run the review

Run it asynchronously. Synchronous spec reviews tend to devolve into the author explaining things, which means the document isn't self-contained. If the author has to explain it, the spec has already failed one of its own goals.

The mechanical process I use:

Red flags that mean the spec isn't ready

Some patterns I reject on sight now:

What not to do in the review itself

Send back vs. escalate

Send back when the spec has gaps or ambiguities the author can fix with more thought. Escalate when there's a scope or priority disagreement that needs a manager-level decision. If you can't tell which one it is, it's probably escalation dressed up as ambiguity.

How you know the review actually worked

The test isn't whether the spec looks good. It's whether QA can start writing tests without Slacking the author, and whether implementation proceeds for more than two days without someone asking the author to clarify something in the document.

The second sign, in retrospective: do incidents and rework trace back to decisions that weren't in the spec? If you do reviews well, that trend line goes down.

Field note: the review comment that saved the release

A useful spec review comment is specific enough that the author can fix it without another meeting. The best one I saw on a checkout change was not "what about retries?" It was this:

Blocker:
The spec defines POST /checkout but does not define idempotency.
Please add:
- idempotency key source
- duplicate request behavior
- timeout retry behavior
- what support sees when payment capture is pending

That single comment changed the implementation plan and gave QA four new tests. That is the standard I want from a review checklist.

Review drill

Run the checklist as a blocking review, not as a courtesy scan. Every item should end as pass, blocker, accepted risk, or intentionally not applicable.

The checklist is done only when the spec names what changed because of review. A silent approval does not help the next person.

Example: if rollback is missing, the review comment should not say "consider rollback." It should say "blocker: add the flag, migration revert, owner, and expected recovery time before implementation starts."

Worked Review Example

For a subscription upgrade ticket, the checklist should catch more than missing tests. It should ask what happens to the current billing period, whether proration appears on the invoice, what event is emitted, which support note explains the charge, and whether downgrade rollback is possible. If any answer is unknown, implementation is about to encode a product decision by accident.

Spec Writing Block to Copy

Use this at the last stop before implementation. A reviewer should be able to point at the spec and say which behavior, boundary, or test evidence is still missing.

Spec writing review block: Spec Review Checklist Before Coding

Decision to make:
- Use this pre-coding review checklist to separate blockers from preferences, record accepted risks, and attach test evidence before implementation.

Owner check:
- Product owner:
- Engineering owner:
- QA or operations reviewer:

Scope boundary:
- In scope:
- Out of scope:
- Assumption that still needs approval:

Acceptance evidence:
- Test or fixture:
- Log, metric, or screenshot:
- Manual review step:

Writing boundary: avoid vague verbs; every criterion needs a visible pass or fail signal.

Reviewer prompt:
- What would still be ambiguous to someone who missed the planning meeting?
- What evidence would make this safe enough to ship?
Keywords: spec review · spec-first development · acceptance criteria · software specification review