Skip to content
All field notes
May 14, 20269 min read

Governing a Global CMS Without Slowing Anyone Down

Governance is a product surface. Treat it like one and publishing velocity compounds.

Code theme

The central bottleneck problem

Every enterprise CMS I've inherited starts the same way: one central team gatekeeps every component, template, and workflow change . It feels safe. It is not. Publishing lead times balloon, markets shadow-build in unmanaged tools, and the platform team becomes the villain of every QBR.

The fix is not more process. It is a governance model that distinguishes what must be centralized from what should be delegated — and then enforces the split with tooling, not tickets.

A three-tier ownership model

I organize CMS ownership into three tiers: Platform, Pattern, and Page. Each has a different owner, a different SLA, and a different review bar.

  • Platform: authentication, rendering, publishing pipeline, observability. Owned by the core platform team. Change window: monthly.
  • Pattern: shared components, brand tokens, content models. Owned by a federated design-system council. Change window: weekly.
  • Page: page composition, copy, campaign assets. Owned by market teams. Change window: on demand.
"If a market team needs a ticket to change a headline, governance is broken."

Guardrails as code

Delegation without guardrails is chaos. We codify constraints as validators that run in CI and in the authoring UI . A market team can compose freely; they cannot ship a page that violates accessibility, brand, or performance budgets.

ts
1// content-model validator sketch
2export const heroValidator = defineRule({
3 id: "hero.contrast",
4 applies: (node) => node.type === "hero",
5 check: (node) => {
6 const ratio = contrastRatio(node.fg, node.bg);
7 return ratio >= 4.5
8 ? { ok: true }
9 : { ok: false, message: `Contrast ${ratio.toFixed(2)} < 4.5` };
10 },
11});

The result: authors get instant feedback, platform stays out of the review loop, and the audit trail is generated automatically.

What actually changed

  • Time-to-publish for a market campaign: 11 days → 2 days.
  • Central platform tickets: down 63% quarter over quarter.
  • Accessibility incidents in production: down to zero for two consecutive quarters.

References

  1. [1]This is the pattern Gartner calls the 'accidental monolith' — a CMS that grew governance by accretion, not design.
  2. [2]We run the same validator set in the authoring UI (as you type) and in CI (before publish). Same rules, two surfaces.

Related reading