Sign-Off Without the Ceremony: A Change Approval Playbook for Small UK Teams
Photo: NickDRM, CC BY-SA 3.0, via Wikimedia Commons
Every small engineering team eventually hits the same wall. Someone senior asks for an audit trail of software changes, someone else remembers a bad deploy from two years ago, and within a fortnight you have a change advisory board, a standing Thursday meeting and a form that nobody fills in properly.
The CAB is not the villain here. The problem is lifting an enterprise process into a team of eleven people and expecting it to survive contact with a busy Tuesday. What follows is a lighter shape that tends to stick, built for teams already living in Jira, Linear or Notion.
Tier by blast radius, not by job title
The reason approval processes collapse is that they treat a copy change and a database migration as the same class of event. They are not. Split changes into three tiers and define each one by two things: how many customers feel it, and how quickly you can undo it.
- Tier 1 — routine. Copy, config, feature flags already dark, patch-level dependency bumps. No approval needed, just a ticket and a note.
- Tier 2 — normal. A feature going live, a new integration, an infrastructure change with a tested rollback path. One reviewer, asynchronous, same working day.
- Tier 3 — weighty. Schema migrations, authentication, payments, permissions, anything that deletes or moves customer data. Two reviewers, one of whom owns the affected area, plus a written rollback plan.
Write those definitions down once, pin them in the repo README, and stop relitigating them in standup.
Two questions do most of the triage
Before anyone hunts for an approver, ask two things: can this be reverted in under fifteen minutes, and how many accounts does it touch? If the answer is yes and few, it is Tier 1 or 2. If either answer makes you wince, it is Tier 3. That is the whole triage. It takes about ten seconds and it removes the most common source of escalation — people guessing at what counts as risky.
Async by default, meetings by exception
A synchronous approval meeting taxes everyone's calendar for a process that mostly needs a record of a decision. Open the ticket, tag the reviewer, state the risk tier and the rollback plan, then set a clock.
Something along these lines: Tier 2 changes get one reviewer and a four-hour window during working hours. If nobody objects, the change proceeds and the ticket records the implicit approval. Tier 3 changes need explicit sign-off, but still async, still in the ticket. Only genuinely novel risk — a first-of-its-kind migration, an unfamiliar vendor — deserves an actual conversation.
The window matters. An approval process without a clock becomes a queue, and a queue becomes a reason to ship on a Friday at five because that is when the build finally went green.
The approval fatigue trap
Here is the failure mode nobody warns you about. Route everything through review and reviewers stop reading. You get the rubber stamp, the thumbs-up in the channel, the 'looks fine' on a forty-file diff at 18:12. The process is intact on paper and worthless in practice.
Two counters. First, cap it: keep Tier 3 changes to a handful a week by design, and if the queue runs longer than that, the problem is planning rather than approval. Second, watch the evidence. If approvals are consistently granted in under a minute, either the changes are genuinely low-risk or the reviewers have checked out. You can usually tell which by looking at how often post-merge fixes follow.
Make the audit trail a by-product
An auditor or an ISO assessor wants five things: what changed, who asked for it, what the risk assessment was, who approved it, and what the rollback plan said. That is a ticket description with four fields, not a second document in a shared drive. If people have to type the same information twice, they will type it badly the second time.
Wiring it into the tools you already pay for
Jira. Add an 'Awaiting approval' status to the workflow and restrict the transition to a reviewer group. An automation rule can post the risk tier and rollback plan into the ticket on transition, timestamped. That is your evidence, generated without anyone writing a report.
Linear. Use a change:tier-3 label to trigger review and an issue template that asks the four questions. Linear's own history is the audit trail; export it if procurement asks.
Notion. A change log database with properties for tier, approver, approval date, rollback plan and status, related to the project page. Slightly more manual, but excellent where non-engineers need visibility.
Slack. Fine for the nudge, useless as a record. If you must approve in a channel, use a bot that writes the decision back to the ticket so the ticket stays the source of truth.
Mind the calendar
Every UK team has weeks where change is a poor idea: month-end and year-end finance runs, the April tax year boundary, the pre-Christmas retail crunch, the Friday before a bank holiday weekend. Publish freeze dates at the start of each quarter so nobody has to be the person who says no at the last minute. Skeleton-crew weeks deserve the same treatment.
Close the loop in ten minutes
After anything Tier 3, spend ten minutes writing down what actually happened versus what you expected. Not a full post-mortem — a paragraph in the ticket. It costs almost nothing, gives reviewers something to calibrate against, and is the best defence against a process quietly turning into theatre.
Measure it or it drifts
Track four numbers monthly: median time from approval requested to approval granted, the share of changes in each tier, rollback count, and how many approvals were granted in under a minute. If lead time balloons, loosen a tier. If rollbacks spike, tighten one. Those numbers keep the process honest without anyone having to own it as a project.
The only real test
Hand the process to a new starter in week one and see whether they can get a change approved without asking three people where the form lives. If they can, you have built something that will survive. If they cannot, you have built a change advisory board with fewer chairs.