What is a go-live checklist template?
A go-live checklist template is a reusable list of every action required to move a system, product, or process into production, organized so that each item has an owner, a deadline relative to the launch moment, and a pass condition. Its job is anti-forgetting under pressure, on a day when the people who know the most are the busiest.
Three properties separate a working template from a document that gets ignored. Every item is binary, so nobody argues about whether “communication prepared” is done. Every item has exactly one owner, because shared ownership is the most reliable way to guarantee nothing happens. And every item is timed, usually as T-minus and T-plus offsets from the cutover, so the sequence survives the first surprise.
The template also carries a second, quieter function: it is the evidence trail. When something breaks at 02:10, the checklist tells you what changed in the last hour and who touched it. That shortens diagnosis more than any monitoring dashboard.
What sections should the template have?
Seven sections cover a launch of almost any size, from a website replatform to an ERP cutover. The table below is the skeleton; the download-ready version adds owner, due time, evidence, and sign-off columns to each row.
| Section | What it contains | Exit condition |
|---|---|---|
| 1. Scope and freeze | What ships, what does not, and the change-freeze window | Frozen scope signed by the business owner |
| 2. Dependencies | Upstream systems, vendors, certificates, DNS, licences, third-party approvals | Every dependency confirmed in writing |
| 3. Data | Extract, cleanse, map, load, reconcile, and the reconciliation tolerance | Source and target counts reconcile within tolerance |
| 4. Environment and access | Production config, secrets, accounts, permissions, monitoring, backups | Restore test passed and alerts firing to a real person |
| 5. Communications | Internal notice, customer notice, status page, support macros, escalation tree | Messages scheduled and owners named |
| 6. Cutover runbook | Ordered, timed steps with a verification after each one | All steps complete, smoke tests green |
| 7. Rollback | Triggers, thresholds, decision authority, rollback steps, post-rollback checks | Rollback rehearsed and timed; authority named |
Two structural rules make this survive contact with reality. Put the rollback section next to the runbook, not in an appendix, because the decision to use it is made in the same hour as the runbook. And keep the whole thing under about 200 lines; a checklist nobody can scan at 05:00 is a liability.
Join Doitify Today
Move projects forward without the chaos: all your tasks, progress, and team reports in one unified workspace. Built for companies, startups, and remote teams — with a quick setup and a free trial.
What does a real cutover runbook look like?
A runbook is a table, not prose. Each row is one action, one owner, one time, and one way to prove it worked. The example below is the shape used for a mid-size system migration with a four-hour window.
| Time (T-) | Action | Owner | Proof it worked |
|---|---|---|---|
| T-72h | Lower DNS TTL to 60 seconds | Platform | `dig` shows 60 |
| T-48h | Freeze non-critical changes; branch cut | Delivery lead | Freeze notice acknowledged by 14 owners |
| T-24h | Full backup plus restore test to staging | DBA | Restore log, row counts match |
| T-12h | Confirm vendor on-call and escalation numbers | Vendor manager | Written confirmation |
| T-2h | Final go/no-go call | Launch owner | Signed decision recorded |
| T-0 | Enable read-only mode; stop write traffic | Platform | Write errors expected, read traffic normal |
| T+0:20 | Final delta export and load | Data lead | Delta row count equals queued count |
| T+0:45 | Switch application config to new environment | Platform | Health endpoint returns 200 |
| T+1:00 | Run 22-step smoke test | QA lead | 22 of 22 pass, evidence attached |
| T+1:15 | Raise DNS, monitor error budget | Platform | Traffic on new host, error rate within baseline |
| T+2:00 | Unfreeze writes; announce to users | Comms lead | Announcement posted, support queue watched |
| T+4:00 | Close window or trigger rollback decision | Launch owner | Decision logged with timestamp |
The runbook’s real value is the ordering. Read-only mode before the delta load, delta before the config switch, config before DNS. Every one of those orderings exists because doing it the other way round produces a window where users write to a database that is about to be replaced, and someone spends the next day merging records by hand.
How do you define go/no-go criteria?
A go/no-go gate is a short list of facts that must be true before the next phase starts. Four gates are enough for most launches, and each one should be able to stop the launch without a debate.
| Gate | When | Must be true | Who signs |
|---|---|---|---|
| Design freeze | T-14 days | Scope, acceptance criteria, and rollback owner named | Business owner |
| Readiness | T-7 days | Restore test passed, runbook rehearsed, comms drafted | Launch owner |
| Final go | T-2 hours | All T-24h items green, no open severity-1 defects, on-call confirmed | Launch owner plus technical lead |
| Post-launch | T+24 hours | Smoke tests stable, error rate at baseline, no data drift | Product owner |
The final gate deserves a rule that feels uncomfortable: any single “no” blocks the launch, and only the business owner can override it, in writing, with the risk accepted by name. Teams that allow a majority vote discover that the person who knew about the broken integration was outvoted by people who wanted to go home.
How do you write rollback criteria that actually work?
Rollback criteria are numeric thresholds, monitored by a named person, with a pre-agreed action. “If things look bad” is not a criterion. The table below is a starting point; set your own baseline first, then set the threshold as a multiple of it.
| Signal | Baseline | Rollback threshold | Action |
|---|---|---|---|
| HTTP 5xx error rate | 0.4% | Above 2.0% for 10 consecutive minutes | Roll back, page incident channel |
| p95 latency, core endpoint | 380 ms | Above 1,000 ms for 15 minutes | Roll back unless a single fix is verified |
| Failed payment or checkout attempts | 1.1% | Above 3.5% | Roll back immediately |
| Data reconciliation mismatch | 0 | More than 0.1% of records, or any financial record | Stop writes, roll back |
| New severity-1 incidents | 0 | Two within 60 minutes | Roll back |
| Support ticket volume | ~40/day | Above 160/day for 2 hours | Roll back or disable the changed feature |
Three roles must exist before the window opens: the person watching the dashboards, the person allowed to call the rollback, and the person who executes it. In small teams these are three hats on two heads, which is acceptable. What is not acceptable is the same person watching, deciding, and executing while also answering support messages, because that person will always decide to wait five more minutes.
Also agree the point of no return. Some cutovers, such as a one-way data transformation that has already accepted new writes, cannot be cleanly reversed. Say so explicitly and set the timestamp after which the only options are fix-forward or restore from backup with data loss. Teams that skip this step improvise at the worst possible moment.
Worked example: a 250-user migration
Consider a 250-user operations team moving from a legacy tracker to a new platform over a weekend window. The plan has 186 checklist items across seven workstreams, 14 owners, and 23 items on the critical path.
Window arithmetic. The database is 900 GB. A restore at a measured 250 MB/s takes 900,000 MB / 250 MB/s = 3,600 seconds, or 60 minutes. Verification adds 30 minutes, the delta load 20, and a 22-step smoke test 45 minutes. Total critical path: 60 + 30 + 20 + 45 = 155 minutes. A four-hour window leaves 85 minutes of buffer, about 35 percent. If the measured restore had been 120 minutes, the same plan would consume 215 minutes and leave only 25 minutes of buffer, which is not a buffer, it is optimism.
Rollback budget. A rollback requires the same restore plus a re-point of DNS plus a verification pass: 60 + 30 + 15 = 105 minutes. That means the latest safe rollback decision point sits at T+2:15, not T+3:55. Write that time into the runbook, because the decision to roll back is worthless if it arrives after the window closes and the team is already too tired to execute it.
Cost of the decision. Two hours of downtime for 250 users at a loaded cost of $55 per hour is 250 x 2 x $55 = $27,500. Rolling back and retrying next weekend costs the same again plus a week of standby. A fix-forward path that keeps the system degraded for a day costs roughly 250 x 8 x $55 x 0.5 = $55,000 in lost productivity. Those numbers do not decide for you, but they stop the argument from being about pride.
How do you rehearse a cutover?
Rehearse the whole runbook once, on a staging copy, with the real people and the real clock. Not a tabletop exercise where someone reads the steps aloud; an actual timed run where the DBA restores, QA runs the smoke test, and the launch owner calls the gate.
Record three numbers during the rehearsal: total elapsed time, the time of the slowest step, and the number of steps that had to be improvised. The first tells you whether the window is real. The second tells you where to add buffer. The third tells you which checklist items are written too vaguely to follow under pressure, and those are the ones to rewrite.
One rehearsal is the minimum. Two is better, and the second should include a deliberate failure: kill the load halfway and see whether the team reaches for the rollback section or starts improvising. The behaviour you see in that drill is the behaviour you will get at 03:00 on a Saturday.
Who owns what on go-live day?
Ownership on the day is a small RACI, and it should be printed on the first page of the runbook.
| Role | Owns | Does not do |
|---|---|---|
| Launch owner | Go/no-go calls, rollback authority, external communication | Hands-on technical work |
| Technical lead | Runbook execution, technical escalation | Customer messaging |
| Data lead | Extract, load, reconciliation evidence | Application config |
| QA lead | Smoke tests and sign-off | Fixing defects during the window |
| Comms lead | Status page, customer notices, support macros | Technical decisions |
| Incident scribe | Timeline log with timestamps | Anything else |
The scribe is the most underrated role. A single person writing “T+0:47 config switch, T+0:52 health endpoint 502, T+0:58 rolled back config” turns a three-day blame conversation into a ten-minute review.
What are the most common go-live mistakes?
No freeze. Changes land during the window and nobody can tell which one broke production. Freeze at least 48 hours before, longer for regulated systems.
Testing in the wrong environment. Staging that differs from production in configuration, data volume, or network path tests a different system. The differences are exactly where launches fail.
Rollback written but never timed. An untimed rollback plan is a rumour. Time it in rehearsal and put the number in the runbook.
No decision deadline. Without a latest-safe-rollback time, the team defaults to hoping. Set the time and name the caller.
Support left out. Customer-facing teams learn about the change from customers. Brief them with macros, known issues, and an escalation path at least a day before.
Success declared too early. A green smoke test at T+1:00 says the system responds, not that it works. Watch the first full business cycle before closing the launch.
What should the template look like as a file?
Keep it in the tool where the work happens, not in a folder nobody opens. A practical structure is one project, seven task lists matching the sections above, and one task per checklist line with an owner and a due date relative to the launch. Milestones mark the four gates. The rollback section gets its own list, pinned, with the latest-safe-decision time in the milestone name.
If you are running several launches a year, keep a clean master and duplicate it per launch. Never fill in the master; the first time someone edits it in place, the next launch inherits stale owners and last quarter’s dates.
How does Doitify support a cutover?
Doitify is our product, so treat this as disclosure. It is built as a workspace for projects, tasks, sub-tasks, checklists, owners, and due dates, with Kanban, Gantt, roadmaps, calendars, workload views, reports, automations, and project documents. For a launch, the useful parts are the Gantt dependency chain for the critical path, checklists inside a single cutover task, workload views for the people on call, and a report that shows gate status without anyone rebuilding it.
The honest limit: no tool will make a team rehearse. The checklist only works if the gate has the authority to stop the launch, and that authority comes from the business owner, not from software.
Conclusion
A go-live checklist template earns its place by making three things explicit: what must be true before you start, what happens in which order once you do, and what number triggers a retreat. Most failed launches are not failures of effort; they are failures of sequence and ownership, and both are fixable on paper before they are expensive in production.
Copy the seven sections, convert them to tasks with one owner and a time each, rehearse once with a deliberate failure, and write the latest-safe-rollback time into the runbook. Then the checklist is not a formality. It is the thing that lets you say no at 05:00 with evidence, which is the only kind of no that protects a launch.
If this post on go-live checklist template was helpful, you might also enjoy What Does a PMO Do? Roles, Responsibilities, and Daily Work and Daily Work Reports: Benefits, Examples and Templates.
Join Doitify Today
Move projects forward without the chaos: all your tasks, progress, and team reports in one unified workspace. Built for companies, startups, and remote teams — with a quick setup and a free trial.