Forward-deployed / Learning zone
Technical product managementa standalone module
Lesson 03

Specs, PRDs & RFCs

TL;DR

Writing is the PM's power tool. The documents form a stack: vision (why we exist) → strategy (where we'll win) → roadmap (what, in what order) → PRD (what exactly, for one initiative) → RFC / design doc (how, written by engineering) → tickets (the work itself). Each layer answers questions the layer below shouldn't have to re-litigate. The PRD is yours. A good one nails the problem, goals and non-goals, requirements with acceptance criteria, non-functional requirements, and how we'll measure success — and stays silent on implementation. The RFC is engineering's. Your job there is to be its sharpest reader, checking the design against the product intent it claims to serve.

🎯 For the AI PM

Why it matters — Deterministic features can be specified by enumerating behaviour: "clicking X does Y." An AI feature can't — you can't enumerate every input. The spec has to define quality instead of behaviour.

What it changes in your decisions — Your PRD gains new mandatory sections: example inputs and graded ideal outputs (the seed of an eval set), explicit tolerance for being wrong ("what's the cost of a bad answer, and what does the user see?"), and latency/cost budgets as first-class NFRs.

Ask yourself — "Could an engineer read this spec and know how good is good enough — without asking me?"

Risk if ignored — The team builds to "make the AI answer questions," discovers "good enough" was never defined, and the launch decision becomes a vibes-based argument in week eleven.

The document stack

The document stack

Each layer answers questions the layer below shouldn't re-litigate

Acceptance criteria trace down into tickets. Constraints and risks feed back up into the PRD.

Vision
why — years
→
Strategy
where — year
→
Roadmap
ordered bets
→
PRD
what & why — weeks
→
RFC
how — engineering
→
Tickets
sliced work
↓ Acceptance criteria trace down — if a ticket can't be traced to a requirement, ask why it exists.
↑ Constraints & risks feed back up — a design discovery ("that latency is impossible") must change the PRD, not get silently absorbed.

Two arrows matter most. Acceptance criteria written in the PRD should be traceable all the way into tickets — if a ticket can't be traced to a requirement, ask why it exists. And RFCs feed back: engineering's design work routinely uncovers a constraint ("that data doesn't exist", "that latency is impossible without precomputation") that must flow back up and change the PRD, not get silently absorbed.

Anatomy of a PRD engineers respect

Length is not quality — one to four pages beats twenty. The sections that earn their place:

What a PRD should not contain: database schemas, API designs, technology choices, or a solution disguised as a requirement. ("Build a Redis cache" is a design. "Repeat visits must load in under a second" is the requirement behind it.)

Reading an RFC like a PM

The RFC (design doc) is where engineering proposes how. You won't judge the architecture — but you're the only reader checking it against product intent. Read for:

Comment with questions, not directives. "What happens to requirement 4's p95 target under this design?" moves the conversation. "Use Postgres instead" ends it.

Acceptance criteria for probabilistic features

The AI-specific craft deserves its own pattern. You can't write "the summary is always accurate." You can write:

This is the bridge into eval-driven development — the AI capstone builds on exactly this section.

Failure modes

Practitioner checklist