Launch day
Launch day is an operations day, not a coding day. Your job: watch, triage, communicate. The code is done — it was done 48 hours ago.
Morning: the go-live checklist
- Confirm the go/no-go one last time. Any new critical blocker since the preflight? If yes, it's a no-go — the criteria don't expire.
- Run the staging→production checklist from your written runbook: DNS (if cutting over today — see the DNS playbook), environment variables, secrets, migrations, deploy, smoke tests. Check each item off as you go, in order.
- Smoke-test production like a stranger: homepage, signup, checkout, contact form, password reset. On desktop and on your phone.
- Open your monitoring posts: uptime dashboard, error tracking, analytics real-time view. These stay open all day.
- Confirm alerting reaches you with one final test alert.
Set your monitoring posts
You need four views open, and a rule for each:
- Uptime: is the site reachable? Any alert here is drop-everything priority.
- Errors: error rate and new error types. A spike in a new error type means the deploy broke something specific — investigate before it compounds.
- Conversions: signups, checkouts, or lead submissions in real time. Traffic with zero conversions is a signal, not a coincidence — something in the funnel is broken.
- Feedback channel: support inbox, contact form destination, social mentions. Real users find bugs your tests didn't.
The comms sequence
Launch comms were drafted during the preflight. Today you execute them in order:
- Verify first, announce second. Nothing goes out until the smoke tests pass on production. An announcement linking to a broken site is worse than a late announcement.
- Publish the changelog / launch notes on your own site first — it's the canonical record everything else links to.
- Send to your warmest audience first (email list, community, existing users). They forgive early wobbles and report bugs kindly.
- Then go wide: social posts, launch platforms, press. Space these out — a staggered rollout gives you time to catch issues between waves.
- Stay present where you announced. Reply to early comments and questions quickly; the first hours set the tone for how the launch is perceived.
Triage roles
On a team, assign these explicitly. Solo, rotate through them consciously — the point is that every report has an owner and nothing sits unowned:
- Watcher: eyes on dashboards, calls out anomalies.
- Responder: investigates and fixes (or calls the rollback).
- Communicator: owns outward updates — status page, social replies, support responses. One voice, no contradictions.
Every incoming report gets a severity on arrival: S1 (site down, checkout broken, data issue — drop everything), S2 (major feature broken, workaround exists — fix today), S3 (minor, cosmetic, nice-to-have — log it for the week). If everything feels S1, nothing is — force the ranking.
When to pause the rollout
Pausing is a sign of discipline, not failure. Pause announcements and consider rollback when:
- Uptime monitoring fires, or error rates spike 10× baseline.
- Conversions flatline while traffic is healthy — the funnel is broken somewhere.
- A data-integrity issue appears (wrong data shown, duplicate charges, lost submissions).
- You hit a rollback trigger from your rollback runbook.
When you pause, say so publicly and briefly: "We're pausing the rollout to fix [thing]. Back shortly." Silence during an incident reads as chaos; a short honest note reads as competence.
End of day: the review
Before you close the laptop:
- Write down what broke, what the severity was, and what fixed it — even if "nothing broke."
- Confirm monitoring and alerting are still armed for the night, and the on-call path is clear.
- Move every S3 and deferred S2 into the post-launch week backlog so nothing evaporates.
- Note one thing to improve about the launch process itself. There's always one.
Next step: launch day goes best when the score is already green. Run the score →