River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

Product Launch Brief Template

Every function reported ready. The tracker found a quote template nobody had built, so nothing shipping that day could have been sold.

Free download  ·  No account needed

A go/no-go meeting collects six colours against six private definitions of ready, and the colours agree far more often than the underlying state does. So the criteria come first here, before the date is committed, and one rule decides what is admissible: somebody other than the owner has to be able to settle it by looking at an artifact. "Support is trained" is not a criterion. "Every tier-1 agent has resolved one simulated ticket end to end" is, because the answer is a count.

Google's reliability team reached the same shape from the operations side. Their launch process runs on a checklist of questions with an action item behind each rather than a list of tasks. A question has an answer somebody can produce. Twenty-three criteria across six functions for a tier 1 launch, thirteen of them blocking. Each one names the artifact that settles it, the person who can waive it, and what the function claimed before anybody checked.

In the worked launch, nineteen were met, three were unmet and all three were blocking. One was a four-hour change to the quote template that no name on the checklist owned, which meant nothing shipping that week could be quoted. The release side of the same cadence is the release notes pack, the risks that need a quarter go to the roadmap pack, and the decision itself gets recorded in the decision record pack.

What each function said, and what the artifact said

Readiness Tracker, Launch Checklist by Function and the Risk Register behind them.

Readiness Tracker

Illustrative rows for a fictional field service platform, Rivenhall, launching a Parts Inventory module. Tier 1, twenty-three criteria, go/no-go on 28 October.

IDFnCriterionVerified byWhat was foundStatusBlockLead said
R-09SalesThe quote template includes the module as a line itemA test quote, generated end to endTemplate not updated. No rep can quote thisUnmetYesGreen
R-02EngError rate on the new endpoints under load is at or below the existing product'sLoad test reportNo report. Test booked for 30 Oct, two days after this reviewUnmetYesGreen
R-12SupportEvery tier-1 agent has resolved one simulated ticket end to endSimulation log per agent11 of 19 agentsUnmetYesGreen
R-06ProductLocalised strings exist for de-DE and fr-FRTranslation files in the builden-GB and en-US onlyWaivedNoGreen
R-01EngAll P0 and P1 defects on the module are closedTracker query on the module label0 P0, 0 P1, 4 open P2MetYesGreen
R-03EngThe module can be disabled per account without a deployFlag toggled in productionToggled 22 Oct in staging and productionMetYesGreen
R-04EngThe spreadsheet migration has a reconciliation checkReconciliation output on pilots3 of 3 pilots reconciled to the rowMetYesGreen
R-07ProductInstrumentation emits the four events the success metric needsEvent stream in the analytics toolAll four firing in productionMetYesGreen
R-10SalesEvery account executive has run the demo end to end at least onceDemo session log per rep22 of 22MetNoGreen
R-16MktgPositioning input received from product and signed offThe document itselfReceived 18 Oct, signed off 21 OctMetYesGreen
R-20FinRevenue recognition treatment is confirmed in writingWritten confirmation from the controllerConfirmed 17 OctMetYesGreen
R-23LegalThe data processing addendum lists the new subprocessorPublished addendumUpdated 20 OctMetYesGreen
TOTAL6 fns23 criteria--19 met / 3 unmet / 1 waived13 blocking6 of 6 green

The last column is the one nobody keeps and the one worth keeping. Every function reported green and three blocking criteria were unmet, which is a fact about the process rather than about anybody's honesty: six people answered six different questions. The launch moved six days, and the whole delay was a load test, eight simulations and four hours of quote template.

Launch Checklist by Function

The task view, keyed to the criteria. Unowned rows stay visibly unowned.

FunctionTaskOwnerDueStatusCriterion
SalesAdd the module to the quote templateUNOWNEDno dateNot startedR-09
EngineeringRun the load test against the new endpointsMarcus D.30 Oct (T-5)Scheduled, not runR-02
SupportRun all 19 tier-1 agents through the simulationTomas B.27 Oct (T-8)11 of 19R-12
ProductOrder the de-DE and fr-FR translationsPriya R.10 Oct (T-25)Not startedR-06
ProductPublish the help centre articlesPriya R.24 Oct (T-11)9 of 11R-05
MarketingBook all 11 analyst briefings before the public dateDara O.1 Nov (T-3)9 of 11 bookedK-08
EngineeringToggle the feature flag in productionMarcus D.22 Oct (T-13)DoneR-03
SalesUpdate the public pricing pageElise M.24 Oct (T-11)DoneR-08
SupportPublish the known-issues page with the four P2 defectsTomas B.26 Oct (T-9)DoneR-15
FinanceConfigure the seat-downgrade alertHannah S.26 Oct (T-9)DoneR-21
LegalReview and publish the terms diffOwen C.20 Oct (T-15)DoneR-22
TOTAL25 tasks, 6 functions1 unowned-20 done / 4 in progress / 1 not started-

The top row is the cheapest failure on the page and the most instructive. Four hours of work, it makes the module unsellable, and it sat untouched because no name was against it: nobody was failing to do it. Two rows down is the structural one, since agent training depends on documentation and therefore gets whatever window is left over, on every launch, everywhere.

Risk Register

No likelihood times impact score. Two answerable questions instead: who finds out first, and how late.

RiskWho finds outHow lateTrigger to watchMitigation
Migration silently imports wrong quantitiesThe customerWeeksImported total differs from source totalReconciliation blocks activation on a mismatch. Built, verified on 3 pilots
Module pricing pulls accounts down a tierFinance30 daysAccount adds the module and cuts seats within 30 daysDaily alert on that exact pattern for 60 days, named reviewer
No rep can quote the moduleSales ops1 to 2 weeksFirst quote request that cannot be generatedBlocking criterion R-09. Four hours, unowned until now
Support volume exceeds capacity in week oneThe queueSame dayMore than 40 module tickets in a dayTwo agents held off other queues for ten days
Load test finds the endpoints slower than the existing productEngineering2 days, if the test runsThe 30 Oct reportBlocking criterion R-02. No go without it
Success metric cannot be measuredProduct6 weeks, at the reviewAll four events present in the streamVerified firing in production. Criterion R-07 met
Analyst hears about it from a customer firstMarketing1 weekInbound analyst question before the briefing11 briefings booked ahead of the public date. 9 confirmed
Localisation gap embarrasses two German accountsCustomer successDaysEither account opening the moduleWaived deliberately, 15 Dec revisit, both account teams told first

Ranking by who finds out and how late tells you what to build, which likelihood times impact never does. Weeks late and the customer finds out needs a detector. Same day and the queue finds out needs capacity. Thirty days and finance finds out needs an alert on one exact pattern. Three of these eight are already closed by a blocking criterion, which is the difference between a register of worries and a register of decisions.

What is in the pack

01

Readiness Tracker

One row per criterion with the artifact that settles it, what was actually found, whether it blocks the date, who waived it and when, and what the function claimed before anybody checked.

02

Readiness Criteria

The definitions per tier, the admissibility test, and the four criteria that fail on every launch for structural reasons: agent training, unowned cross-function work, load testing, and success instrumentation.

03

Launch Checklist by Function

The task view keyed to the criteria, with due dates relative to launch and unowned rows left visibly unowned rather than assigned to a team name.

04

Risk Register

No likelihood times impact. Who finds out first and how late, which is answerable and which maps straight onto whether the mitigation is a detector, a capacity plan or an alert.

05

Launch Brief

One page so six functions describe the same launch the same way, including what is not shipping, who it is not for, and what the go/no-go actually found against what was reported.

06

Positioning Input and Support Enablement Note

The handoff product owes marketing, with verbatim customer language and the claims this launch cannot support, plus the note the agent picking up ticket one actually reads.

How it works

  1. 1

    Set the tier

    From reach and reversibility, on day one. One checklist for every launch gets gamed, and a tier that drifts down in launch week is how criteria get escaped.

  2. 2

    Write checkable criteria

    Every claim of the form X is ready becomes the artifact that would prove it, with the person who can waive it named up front.

  3. 3

    Verify, do not ask

    Each criterion gets checked against its artifact. The finding is recorded as a count with its denominator, not as a colour.

  4. 4

    Read the count

    How many blocking criteria are unmet is the launch decision. Everything else in the meeting is context.

Frequently asked questions

What do I send it?

The spec or PRD, the current delivery status, whatever go-to-market plan exists, and the date somebody already promised. A date and an idea is enough to start. If it came out of a beta, send the exit memo too, because its known gaps are what this brief carries.

How is this different from a launch checklist?

A checklist tracks tasks, and a task marked done is not the same claim as a criterion met. Look at an actual launch checklist: every line is a question. The quote template task had no owner, so nothing was overdue. The criterion asked whether a quote could be generated, and the answer was no.

Why keep a record of what each function claimed?

Because over three or four launches it tells you whose green means green, and that is the most useful thing this space produces. It is not about honesty. Six leads answering six different private definitions of ready will report six greens every time.

What if a criterion cannot be met before the date?

Then the count of unmet blocking criteria is not zero, and the decision is a new date or a recorded waiver with a name, a date and a revisit date. In the worked launch the total unmet work was under a week, so the date moved six days rather than shipping on waivers.

Does it write the launch campaign?

No, and the boundary is deliberate. Product hands over a positioning input with verbatim customer language, the entitlement counts, what is not shipping and the claims this launch cannot support. Marketing owns everything downstream. The criterion is that the input was signed off, not that the copy is good.

Why not score risks by likelihood and impact?

Because nobody scores them honestly and a register full of medium-medium rows has never changed a decision. Who finds out first and how late is answerable, and it maps onto the fix: weeks late and the customer finds out needs a detector, same day needs capacity.

We launch every two weeks. Is this too heavy?

That is what the tiers are for. Tier 3 is four criteria and no meeting; tier 2 is eleven across three functions. Only a launch that changes entitlement, needs a migration, or gets announced publicly runs the full set. Release cadence itself is the release notes pack.

Find out what your green actually means

Send the spec, the status and the date somebody promised. The first thing back is how many of your readiness claims can be checked at all.

Check my launch