Situation: I was asked to run a half-day cross-functional workshop to resolve inconsistent metric definitions across 8 teams so downstream analytics and SLIs would be consistent.
Task: My goal was to align on canonical definitions, capture authoritative artifacts, and set governance so changes stick.
Action:
Agenda (4 hours)
- 0:00–0:15 — Kickoff: objectives, scope (which metrics), success criteria, decision rules, roles (Scribe, Timekeeper, Owner)
- 0:15–0:45 — Current-state lightning round: each team presents their definition & one critical query/example (2–3 slides)
- 0:45–1:30 — Breakout 1 (4 teams each): compare definitions, identify differences, surface root causes (scope, filters, timezones, dedup rules)
- 1:30–1:45 — Report back (45s per breakout)
- 1:45–2:15 — Consolidation: propose canonical definition templates for top 3 metrics (name, formula, SQL canonical query, data sources, time grain, edge cases)
- 2:15–2:45 — Breakout 2: implement canonical SQL queries / test cases against sample data; produce examples showing expected outputs
- 2:45–3:15 — Decision & ratify: vote (weighted if needed), capture objections, assign Owners and implementation timeline
- 3:15–3:30 — Next steps & governance: rollout plan, monitoring, CI checks, and change process
Facilitation techniques
- Timeboxing and strict agenda
- Active facilitation to keep technical debate evidence-driven
- Use templates (canonical-definition template) and live shared docs
- Dot-voting for prioritization; RACI mapping for decisions
- Breakout groups with mixed-team composition to avoid siloed decisions
Artifacts to produce during session
- Canonical metric spec (fields: definition, SQL canonical query, data sources, ETL transformation steps, time grain, business owner, owner email, examples with inputs/outputs, known edge cases)
- Verified canonical SQL queries (in shared repo or notebook) with sample results
- Test cases: unit tests or SQL asserts that validate query against baseline
- Change log / decision log with rationale and dissenting opinions
Governance follow-up (to ensure decisions stick)
- Immediately commit canonical queries/specs to a central Metric Registry in code (git) and data catalog (e.g., Great Expectations, dbt docs, Data Catalog)
- Owners responsible for implementing changes in upstream ETL within agreed SLA (e.g., 2 sprints)
- Add automated CI checks: SQL lints, snapshot tests, and monitoring alerts for metric drift
- Weekly rollout check-ins for first month, then monthly metric review
- Formal change-control: any metric change requires a PR with tests, Owner sign-off, and 48-hour review window; major changes require stakeholder sign-off
- Measure success: reduction in metric-related incidents, % of teams using canonical query, and downstream consumer satisfaction survey after 4–6 weeks
Result: This approach creates clear, testable definitions, assigns accountability, and embeds automated guardrails so metrics remain consistent and auditable across teams.