HIVE80lab — Ops notes

Change-Freeze Calendar Template for Small Teams

One page. The windows when nobody ships to production, what still ships inside a freeze, and the exception loop that keeps the freeze honest.

Most change freezes are a mood, not a calendar. Someone says “no deploys until things calm down,” and then the freeze erodes one urgent afternoon at a time — until somebody ships a pricing change at 4pm on December 23 and spends the quietest week of the year on a billing outage. The fix is not a stricter mood. It is one table on the wall: the windows you declare in advance, what is frozen inside each one, what still ships, and who can say yes when something truly cannot wait.

The freeze calendar, one page

A row per window, declared weeks ahead. If a window is not on this table, it does not exist:

WindowDatesWhat’s frozenStill shipsBreak-glass approver
Peak-season blackout (Black Friday, December, your customers’ crunch)Nov 18 – Jan 3All production deploys; pricing; schema; infrastructure changesRank-1 security fixes, rollback-only patches, docs, monitoringNamed founder or on-call lead (one name, on the row)
Quarter-closeLast 3 business days of the quarterBilling, invoicing, anything touching financial dataEverything not finance-adjacentFinance owner
Migration / major-release weekThe week of the cutoverEverything except the migration runbook itselfRollbacks of the migration; nothing new on topMigration lead
Event week (launch, conference, audit, customer go-live)The 5 days around the dateAnything that could embarrass you in publicContent, docs, cosmetic fixesEvent owner

Three columns do the real work. “What’s frozen” is a scope, not the word “everything” — a vague freeze is an unenforceable one. “Still ships” is what keeps security clocks running during the freeze. “Break-glass approver” is one named human per window — never a committee, never “ask in the channel,” and never the person asking for the exception.

The four windows most small teams actually declare

Teams of 5–50 rarely need more than four windows a year. Declaring more than that means your regular process is broken — see the maintenance window policy instead, and fix the lanes:

The freeze rule, stated as one line

During a declared window, a production change needs one named approver’s yes — the calendar is the policy, the approver is the exception. That is the whole rule. No freeze means “nobody can ever ship”; it means “shipping now costs one conversation with the person whose name is on the row.” A freeze without a named approver becomes a freeze that is broken in the channel by whoever argues hardest.

The exception loop: ninety seconds per request

Exceptions will happen. The loop keeps them rare, fast and logged:

What still ships during a freeze

The “still ships” column exists because some things must not stop:

Three metrics

Thirty seconds a month, in the same review as everything else:

Worked example: from a December 23 outage to eleven quiet days

A twelve-person B2B SaaS company. The year before: a founder shipped a pricing-schema change at 4pm on December 23 because “the freeze was just for the engineers.” It corrupted invoicing for one customer segment; nobody noticed until January 2; the billing team started the year with three days of manual repair and one very patient customer.

The next year they declared the window on November 20 — December 18 to January 3, full production scope, still-ships list exactly as above, the on-call lead as break-glass approver. Nine exceptions were requested across the window. Two were granted: both rank-1 security patches, both shipped same-day with the clock documented. Zero production incidents. The pricing change shipped January 6 with a rehearsed rollback, and the on-call rotation got eleven quiet days instead of a forensic accounting exercise. Total process cost: one table, one line in the weekly review, and ninety seconds per exception request.

Where this fits

The freeze calendar sits between the maintenance window policy (the regular lanes that make freezes rare) and the seasonal peak readiness checklist (everything else you do before your busiest weeks). Rollbacks for whatever slips through are rehearsed in the deployment rollback checklist; the incident itself, if it happens anyway, follows the first 30 minutes. If you would rather have the whole change-control loop — windows, lanes, rollback drills, the freeze audit — run by an outside pair, that is the Small-Team Ops Audit; and when a frozen week still manages to catch fire, the Custom Incident Runbook turns the post-mortem into a procedure your team can run without you. The Ops Starter Kit covers the incident half; Vol. 2 covers the on-call rotation that staffs the freeze.