Direct answer
I would pick a real example, say retiring a legacy authentication token format that eight teams still depended on. The pattern: write one short plan that names, per team, the code change, the process change and the runbook change; agree the "why" and an end date with a sponsor (the senior person who owns the outcome and can settle disputes); give every team one named owner; and track everything in a single shared table reviewed weekly. I got participation by making each team's cost small and visible, and by taking away their excuses (a migration guide, a test environment, office hours, a fixed weekly slot where teams drop in with questions), not by escalating.
Situation, actions, result (illustrative story skeleton)
Situation. A security finding meant the old token format had to stop being accepted by an agreed end date, week 12 of the plan. Eight teams owned services that issued or checked it. Nobody reported to me; I was the program lead, the person coordinating the effort without authority over the teams.
Actions I took, in order
- One page of scope per team. Three kinds of work for each: code (switch to the new library), process (add a check to the release checklist so the old format cannot return), and runbooks (the written steps the on-call engineer, the person who responds first when an alert fires, follows for "token rejected" incidents and for rotating keys). A runbook is a how-to document followed during an incident.
- A sponsor and a date. The director who owned the security finding agreed the end date and agreed to take a blocked team to the weekly leads meeting. I rarely had to use that, but teams knew it existed.
- A per-team reason, not a general appeal. Two teams had a quarter full of customer commitments. I offered them a smaller first step (accept both formats, switch later) rather than argue priority.
- A tracker everyone could see. One table, one row per team, one owner, status, and next date.
- A 30-minute weekly sync for blockers only, and a short written update afterwards.
| Team | Code | Process | Runbook | Status at week 8 |
|---|
| Teams 1 to 5 | done | done | done | Complete (5 teams) |
| Teams 6 and 7 | in progress | done | not started | In progress (2 teams) |
| Team 8 | blocked on a test-environment request | not started | not started | Blocked (1 team) |
The counts agree: 5 + 2 + 1 = 8 teams. Team 8's blocker was already specific (one named request with a deadline, the agreed end date), so it met my rule for escalating and went to the sponsor on the day it was raised; the environment was granted within the week.
Result. All eight teams finished before the end date, and the old format was switched off. I then ran a short retrospective (a meeting after the work to review what went well and what to change) and noted that I should have asked for the test environment before kickoff, not at week 8.
The same pattern on an AI-feature delivery
Suppose the initiative is shipping an AI-powered search feature that needs data, a model, a front end, legal review and support training. The work is the same shape:
- Coordinate deliverables with a dependency list: each deliverable has an owner, a due date and the deliverable it blocks (for example, the front end cannot finish until the model API is stable).
- Technical blockers (model latency too high, missing training data) go on the tracker with an owner and a decision date; non-technical blockers (privacy review not scheduled, data-sharing approval pending) are treated as equally real and escalated just as fast.
- Processes added to stay on schedule: a weekly dependency review, a launch checklist with named sign-offs, and a risk list reviewed in the same meeting.
An illustrative tracker for the feature at week 4 of 8:
| Deliverable | Owner | Due | Blocks | Status / blocker |
|---|
| Training data extract | Data team | Wk 2 | Model | Done |
| Model API | Data science | Wk 5 | Front end | At risk: latency 2x target, decision on smaller model by wk 5 |
| Front end | Search team | Wk 7 | Launch | Waiting on API |
| Legal and privacy review | Legal | Wk 6 | Launch | Not yet scheduled: escalate today |
| Support training | Support lead | Wk 8 | Launch | On track |
One row is done, one at risk, one waiting, one blocked on scheduling and one on track: 5 deliverables.
Trade-offs and pitfalls
- Escalating early wins dates but spends goodwill; I escalate only after a team has a named blocker and an agreed deadline.
- A tracker nobody reads is worse than none: keep the status definitions plain and review it live.
- Do not hide a slipping team. Naming the blocker kindly in the shared table is what unblocks it.
- A story with no "what I would do differently" sounds rehearsed, so end with one real lesson.