Change management exists for a real reason: uncontrolled production changes cause outages. The traditional implementation — a weekly board reviewing every change — addresses it in a way that stops working above a certain change volume, and the DORA research consistently finds that heavyweight external approval correlates with worse stability, not better.

The goal is not to remove control. It is to move it from a periodic human meeting into the delivery path, where it is continuous and consistent.

Why the board stops working

flowchart TD
    A[Change volume grows] --> B[Board meets weekly]
    B --> C{Can it review<br/>every change properly?}
    C -->|No| D[Rubber-stamping:<br/>the control becomes ceremonial]
    C -->|"Tries to"| E[Board becomes the bottleneck]
    E --> F[Changes batch up between meetings]
    F --> G[Larger batches = higher risk per release]
    G --> H["The process increases<br/>the risk it exists to reduce"]
    E --> I[Teams route around it:<br/>'this is a config change, not a change']

The batching effect is the important one and the least intuitive. A board that forces changes to accumulate for a week produces releases containing forty changes instead of four, and a failure in a forty-change release is far harder to diagnose and revert.

Risk-based routing

The replacement is to assess risk automatically and route accordingly, so that human attention goes to the small share of changes that warrant it.

flowchart TD
    A[Change proposed] --> B[Automated risk scoring]
    B --> C{Risk level}
    C -->|Low| D["Standard change:<br/>pre-approved, pipeline proceeds<br/>Evidence recorded automatically"]
    C -->|Medium| E["Peer approval within the team<br/>+ enhanced automated verification"]
    C -->|High| F["Named approver outside the team<br/>+ scheduled window + rollback rehearsal"]
    C -->|Emergency| G["Expedited path, retrospective review<br/>within 24h, usage tracked"]
    D & E & F & G --> H[(Automatic change record<br/>from pipeline metadata)]

Signals that should feed the risk score:

SignalRaises risk
Service tier and user exposureTier-1, customer-facing
Blast radius from the dependency graphMany downstream consumers
Type of changeSchema migration, auth, payment, network, IAM
Change sizeLarge diffs, many files, many services
Test coverage on the changed codeLow coverage
Deployment strategy availableNo canary, no fast rollback
Recent stability of the serviceRecent incidents or failed deploys
TimingImmediately before a peak period or a holiday freeze

Most changes in a healthy estate score low, which is the point: the process concentrates scrutiny where it changes outcomes.

Standard changes

The most valuable category is the pre-approved standard change: a change type that has been reviewed once, at the class level, and needs no per-instance approval.

To qualify, a change type should be:

  • Well-understood, with a documented, repeatable procedure.
  • Low risk, with a strong track record — measured, not assumed.
  • Automated end to end, including verification.
  • Quickly reversible, with a tested rollback.

Typical qualifiers: routine application deployments through the standard pipeline, autoscaling adjustments within pre-agreed bounds, certificate renewal, patch-level dependency updates, and adding capacity within an approved envelope.

Approving the class rather than the instance is the mechanism that makes continuous delivery compatible with a change control framework. Auditors generally accept this readily — it is a stronger control than a board reviewing changes it has no time to understand, because it is consistent and it produces complete evidence.

Evidence without extra work

A change record assembled by hand duplicates what the pipeline already knows and is less reliable. Generate it instead — the structure shown in Compliance as Code covers what to include: source commit, author, reviewers, checks passed, approval, deployment time, verification result, and rollback availability.

Doing this well removes a whole category of busywork. Teams that maintain both a ticket and a pipeline are paying twice for one control, and the ticket is the less trustworthy of the two.

Freezes

Change freezes are a blunt instrument with real costs: they create a large batch of accumulated changes that all ship together immediately afterward — the highest risk moment of the year, arranged deliberately.

More proportionate alternatives:

  • Raise the risk threshold during sensitive periods rather than blocking everything, so low-risk standard changes continue.
  • Freeze by blast radius, not by calendar: block changes to the systems that matter for the event, not to every system.
  • Require a tested rollback for anything shipping during the window.
  • If you must freeze, stagger the thaw so the accumulated batch does not deploy at once.

Emergency changes

Every organization needs an expedited path, and every expedited path becomes the normal path if it is easier than the standard one. The controls that prevent that:

  • It uses the same pipeline, with a reduced gate set — never a manual out-of-band deployment.
  • It requires a stated justification at the time, recorded automatically.
  • It gets a retrospective review within a fixed window.
  • Its usage rate is a tracked metric. Rising emergency usage means the standard path is too slow, and the fix is upstream.

Measuring the process

MetricHealthyWarning sign
Share of changes that are standard/pre-approvedHigh and risingFalling — the risk model is too conservative
Approval wait time for non-standard changesHoursDays
Change failure rate by risk categoryLow risk genuinely fails lessNo difference — the risk model has no signal
Emergency change shareLow and stableRising
Changes bypassing the process entirelyZeroAnything above zero

The third row is the one that validates the whole system. If low-risk and high-risk changes fail at the same rate, the risk score is noise and the routing is theatre. Calibrate it against actual outcomes rather than against intuition about what sounds risky.

Adoption checklist

  • Risk is scored automatically from service tier, blast radius, change type, and history.
  • Low-risk changes are pre-approved as standard changes at the class level.
  • Human approval is reserved for genuinely high-risk changes.
  • Change records are generated from pipeline metadata, not maintained by hand.
  • Freezes are scoped by blast radius, and thaws are staggered.
  • The emergency path uses the standard pipeline and is reviewed retrospectively.
  • Risk categories are validated against actual change failure rates.
  • Changes bypassing the process are detected and counted.

Last updated 19 Aug 2026, 00:00 UTC. history