TEMPLATE

Software Release Template

A release template where the columns are gates, not work items: version freeze, staging verification, release notes, and a rollback plan that exists before anyone needs it.

Release: v2.4.0
Version freeze
Scope locked, no new merges
Staging
Smoke tests passed
Migration dry run
Release notes
Changelog drafted
Rollback plan
Revert commit tagged

A release doesn't move right until the gate behind it is actually cleared.

Why release checklists get skipped under deadline pressure

A release template isn't a work board. Nobody is "doing" version freeze for three days. It's a sequence of gates, and most checklists fail because they don't treat it that way. They get built like a task list instead, and a task list is exactly the format people skip steps in when the release date is tight.

The checklist lives in a doc, disconnected from the actual release. It gets copied once, filled in inconsistently, and by the third release nobody opens it. The release ships on memory instead, and memory is where steps quietly get dropped.

There's no rollback plan until something breaks. Writing the rollback plan after a bad release means writing it under the worst possible conditions: under time pressure, with production already degraded, and with whoever's on call trying to write and execute it at the same time. This template puts it before staging, so it exists as a calm decision rather than a panicked one.

Freeze isn't enforced, just requested. Someone merges "one small fix" after the freeze because nothing on the board stops them, and the release ships with an unverified change nobody flagged. The fix might even be fine. The problem is nobody decided that; the freeze just quietly failed to hold. Make freeze a gate on the card itself, the way this template does, and that quiet failure gets a lot harder to pull off unnoticed.

Release notes get written from memory the night before. Whoever's assembling the changelog scrolls through weeks of commits trying to reconstruct what actually shipped, and inevitably misses something a customer later asks about.

What's inside

The structure, and why each part is there

Gate columns, not status columns

Version freeze, staging, release notes, rollback plan: each one is a condition to clear, not a place work sits while someone does it. A release only moves right when its gate is checked off, and the card's position is always an honest answer to "how close are we."

A freeze marker tied to the branch

Once version freeze is recorded on the card, merges to the release branch are a visible exception on the board rather than an invisible one in the repo.

A rollback plan as a required field

The release card can't reach "ready" without a rollback plan attached: the revert commit or tag, who executes it, and how long it should take. Writing it is mandatory, using it hopefully isn't.

A release-notes wiki page

Drafted from merged pull requests as they land, in the built-in wiki, with page history, so notes get compiled through the cycle instead of reconstructed from git log the night before. Any line item can become a follow-up task if it needs one.

Merge-to-column linkage

Pull requests merged to the release branch move the relevant card automatically, so the release card's position reflects what's actually in the branch, not what someone remembers merging.

A post-release verification step

A final gate after ship, confirming the release is stable in production before the cycle is marked closed. It's separate from "deployed," which only means it went out, not that it's holding up.

Cycle-time analytics per release

How long each release actually spent in staging, how often freeze was broken, how long verification took, tracked across releases so patterns in the process itself become visible, not just patterns in the code.

How to use it

  1. 01Create one card per release, not per feature. This board tracks the release as a single unit moving through gates, not the individual changes inside it.
  2. 02Write the rollback plan at version freeze, before staging even starts. If you're writing it during an incident, it's too late to be useful. The whole point is to have it ready and not need it.
  3. 03Treat freeze as real. A merge after freeze should be an explicit, logged exception, not something that happens quietly because nobody's watching the branch.
  4. 04Draft release notes as PRs merge, not the night before. The changelog is more accurate when it's assembled continuously.
  5. 05Don't close the release card at deploy. Close it after the post-release verification gate, once production has actually been checked.
  6. 06Duplicate the card structure for the next release rather than rebuilding it from scratch, so the same gates apply every time without anyone having to remember what they were.

The gates don't need to take long individually. A small team might clear all four in an afternoon for a minor patch release. What matters is that each one gets a genuine check rather than a rubber stamp, and that the sequence stays the same whether the release is routine or the deadline is tight.

Cycle-time data across releases is where this pays off over months rather than one release at a time. If staging keeps taking longer than expected, or freeze keeps getting broken by the same kind of change, the pattern shows up in the numbers rather than as a vague, recurring frustration nobody's pinned down.

If you take three things
  • Write the rollback plan before staging, not after something goes wrong
  • Treat freeze as an enforced gate, not a polite request
  • Deployed and verified are different gates, don't close the release at the first one
FAQ

Common questions

The integration is with GitHub directly: branches, pull requests, and merges move the release card. There's no separate CI/CD pipeline integration; if your pipeline triggers off a GitHub merge or tag, that connection already carries through without needing a second integration on top of it.

Keep reading

Related pages

See it on your own work.

A workspace your whole company will actually use is 60 seconds away. No card, no risk, nothing to install.

14-day full-access trial · sample project included · no card required