All Writing
๐Ÿš€ Product GrowthDeep DiveJuly 20264 min read

Good PRDs Answer 'Why Not?' Before Anyone Asks

I used to think a good product requirement was just clear scope and acceptance criteria. Then I watched three different teams build three different things from the same doc. Turns out, the best PRDs don't just say what to build. They kill the wrong interpretations before they happen.

I wrote my first real PRD at Sonic Linker when we were building our AI-powered link intelligence feature. I was proud of it. Clean user stories, solid acceptance criteria, even had mockups attached. Two weeks later, the engineer demoed something that technically met every requirement I'd written but solved a completely different problem than what our users needed.

That's when I realized: a good PRD isn't good because it's detailed. It's good because it makes the wrong thing impossible to build.

The Stuff Nobody Writes Down (But Should)

Here's what I now put in every PRD that I didn't use to:

The current bad experience, in painful detail. Not just "users can't find relevant links." More like: "User opens dashboard, sees 47 links, spends 4 minutes scanning titles trying to remember which one had the pricing info from last week's call. Gives up, asks colleague on Slack instead." When the team reads that, they know exactly what feeling they're trying to kill.

The one metric that matters for this specific feature. At Finvestfx, I used to list five success metrics per feature. Retention, engagement, NPS, task completion, time saved. Guess what happened? We'd ship, hit three of them, miss two, and have endless debates about whether it worked. Now I pick one. For our treasury reconciliation feature, it was "percentage of clients who run reconciliation at least 3x per week." Either it became habit or it didn't. No wiggle room.

What we're explicitly NOT solving. This is the part that saves the most time. In the Sonic Linker PRD, I added a section: "This does NOT handle broken links or suggest new sources." Why? Because in every kickoff meeting someone asks "should we also..." and derails the whole thing. Writing it down once beats saying no in six different Slack threads.

The Part Where I Show You Don't Care About Users

The real test of a PRD isn't whether engineering understands it. It's whether anyone outside the product team can tell you what problem you're solving.

I learned this at NJ Group when I was coaching insurance advisors on new product features. I'd walk them through what we built, and they'd nod politely, then ask "but why would I use this instead of my Excel sheet?" That question broke me. We'd spent eight weeks building something technically solid that solved a problem nobody actually had in the way we thought they had it.

So now, before I write a single user story, I do this: I explain the problem to someone who'll actually use the product. Not the solution. Just the problem. If they don't immediately say "oh god yes, that drives me crazy," I don't write the PRD yet. I go back and talk to more users.

At Finvestfx, this saved us from building an entirely wrong workflow for forex rate alerts. I'd written a whole PRD for a dashboard-based alert system. Then I actually sat with a treasury manager for an hour. Turns out they live in email and WhatsApp during rate-critical windows. A dashboard they had to check? Useless. We shipped WhatsApp alerts instead. Took three days to build, got used by 18 of our 20 enterprise clients within the first week.

What Actually Makes It Good

A good PRD has a clear opinion about trade-offs. Not "we could do A or B," but "we're doing A because of X, even though it means we can't do B right now."

When we built the core Sonic Linker product, every PRD had a "Why This, Why Now" section. Not just opportunity sizing. Actual reasoning: "We're building smart search before bulk upload because 80% of our beta users manually search 5+ times per session, and only 30% have expressed interest in bulk. We'll lose the bulk upload crowd for now, but we'll win the daily active users."

That clarity did two things. First, it made everyone uncomfortable, which is good. You should feel a little nervous when you explicitly choose to disappoint some users. Second, it made validation easy. Either those beta users started searching more, or we were wrong and needed to pivot fast.

The other thing: good PRDs have an expiration date. I now write "If we don't ship by [date], this doc is invalid and we should rewrite it." Context changes. User needs shift. A three-month-old PRD with no shipping date is just archaeology.

The Thing I Wish Someone Told Me Earlier

Your PRD doesn't need to be long. It needs to be honest about what you don't know.

The best PRD I ever wrote was four paragraphs and a Loom video. It said: "Here's the problem, here's what we think might work, here's the three things we need to validate before we build it fully, here's the quick version we'll ship in one week to test it."

We shipped that quick version at Sonic Linker. It was janky. But it proved the core assumption wrong in 72 hours, which saved us from spending a month building the polished wrong thing.

A good PRD makes building the wrong thing so obviously wrong that nobody even tries. It doesn't guarantee you'll build the right thing, but it definitely helps you fail faster when you're headed in the wrong direction.

And honestly, in early-stage product work, failing faster is usually the same thing as winning.