
Every team reported green. The work said ten days late.
Program Pulse reads the tracker, pull requests, calendars and dependencies instead of the status reports. It finds the milestones that will slip, says why, and tells the program manager whom to ask this week, before an executive has to step in.
The real world
- Status meeting
Everyone reports green
Each team reports on its own work, and its own work does look fine. No one is asked about the hand-offs between teams.
- Week 2
The blocker is in a comment
"Waiting on legal review of the card vault contract." "We’ll pick this up after the migration." Each one is written down, on a ticket nobody outside the team reads.
- Week 3
The board says done
An epic is closed so the board looks right, with three bugs still open under it. The burndown stays green.
- Two weeks out
The slip surfaces
The first team that depends on the others finds it cannot start. Every downstream date moves at once.
- Launch review
An executive steps in
The date is now decided in an escalation meeting, with less time and fewer options than there were three weeks earlier.
Watch it work
Loading…
What it’s worth
On the fictional Northwind program, the agent finds a ten-day launch slip that every status report missed; the cost of that delay is the money leadership is asked to act on, and the asks it drafts win most of those days back if people take them.
- $499K
- Cost of delay at risk: 10 days late × $49,863 a day (checkout’s $455M a year ÷ 365 × a 4% conversion uplift from saved payment methods). Exposure, not a saving.
- $70K
- A year in program manager time: 468 hours of status meetings, chasing and write-ups (5 teams × 2 h a week, less 1 h to check the brief, 52 weeks, $150 an hour).
- 8 days
- Recovered if the asks are taken ($399K, conditional, not counted as a saving): legal expedites the contract review, added scope is deferred, identity starts now. Two days still need a leadership decision.
Compared
Tracker dashboards and engineering analytics tools already chart the work. Here is what each does, and where an agent adds something new. In every column, people make the final call.
| What it does | By hand | Tracker dashboards | Engineering analytics | Program Pulse |
|---|---|---|---|---|
| Forecasts each milestone from points and velocity, through its dependencies | Partlyspreadsheets | Partlyper team, not across teams | Yes | Yesa calculation you can check |
| Reads blockers written in ticket comments | Yesif someone reads them all | No | No | Yes |
| Spots an epic closed with bugs still open under it | Partly | No | Partly | Yes |
| Checks calendars: an owner out on the due date | Partly | No | No | Yes |
| Recommends one ask per milestone: push, reassign, cut scope or escalate | Yesa program manager | No | No | Yesthe same rules every week |
| Drafts the message to each team lead | Yes | No | No | Yesthe program manager sends it |
| Prices the delay in dollars | No | No | No | Yes |
| Decides dates, scope and people | Yespeople | Yespeople | Yespeople | Yespeople |
● Yes◐ Partly— No
People’s hours a year, five teams
82% fewer hours than by hand, and 75% fewer than with dashboards and people: 637 hours, about $96K.
See the hours by activity, and how each is reached
| Activity | By hand | Dashboards and people | Agent and people |
|---|---|---|---|
| Status meetings and chasing5 teams at 2 h a week by hand; dashboards save some of the asking, about 1.5 h. Agent: 1 h a week to check its brief. | 520 h | 390 h | 52 h |
| Forecast the milestonesAgent: the same calculation every week, shown with its inputs. | 104 h | 52 h | 13 h |
| Draft the asksAgent: one draft per milestone for the program manager to edit or drop. | 52 h | 52 h | 13 h |
| Write the leadership briefAgent: one page with the decisions needed. | 52 h | 26 h | 13 h |
| DecideThe same in every column: 1 h a week of people deciding. | 52 h | 52 h | 52 h |
| Total | 780 h | 572 h | 143 h |
Estimates for the fictional Northwind Outfitters at an assumed $150 an hour, on the same assumptions as the business case above. Categories, not products: individual tools vary. Verify against your own environment.
How it works
- Read
The work, not the report
Tickets, points, epics and comments from your tracker; reviews and checks from your repositories; out of office and holidays from team calendars; velocity from past sprints.
- Forecast
Points left, at the pace the team keeps
Plain code divides each milestone’s open points by the team’s recent velocity, then pushes every forecast through its dependencies. The forecast is compared with the due date and with what the team reported.
- Blockers
What the data shows, and what only reading shows
Rules catch a late dependency, an owner out of office on the due date, reviews waiting more than three days, tickets untouched for a week, and scope added after the commit. The agent reads the comments for waits on other teams and work parked behind something else, and notices an epic closed with bugs still open.
- Recommend
One ask per milestone
Push, Reassign, Cut scope or Escalate, by the same rules every week. Escalate only when someone above the team has to decide a date, scope or people.
- Draft
The ask, ready to send
A short paragraph to each team lead, saying what the work shows and what would help. The program manager edits it, sends it or drops it.
- Brief
One page for leadership
Status in one line, the decisions needed, the pushes this week, and the forecast with and without the asks.
Where it runs
- In your environment
- Next to your tracker, repositories and calendars, with read-only access.
- Your plan
- Milestones, due dates and dependencies are yours; the agent forecasts against them and never edits them.
- Into your tools
- Asks as drafts in chat or email, the brief where leadership reads it.
- People decide
- Every ask is a draft until the program manager sends it. Every date, scope and staffing call stays with the people who own it.
On your data
The demonstration above runs on a fictional company’s program. On yours, the agent connects to your tracker, repositories and calendars, inside your environment. Design partners can pilot it on a live program.
The engagement
Program PulseConnected in 1 week, then every week
- 1 · Week 1
Connect
- Agents
- Read the tracker, repositories and team calendars.
- Our people
- Deploy, and backtest the forecast on last quarter’s milestones.
- Your people
- Grant access and confirm the milestones.
- 2 · Week 2
Forecast
- Agents
- Forecast every milestone, find the blockers, draft the asks.
- Our people
- Review with your program lead; first leadership brief.
- Your people
- Approve the plan of record.
- 3 · Every week
Run
- Agents
- Refresh the forecast and draft the asks.
- Our people
- Our program manager sends the asks and escalates only the decisions.
- Your people
- Team leads act on them.
- 4 · From month 2
Hand over and watch
- Agents
- Keep running.
- Our people
- Train your program managers; check forecast accuracy monthly.
- Your people
- Own the cadence.
What agents don’t speed up: Decisions on dates, scope and people. The agent shows them early; leadership still makes them.
What you keep
- Forecast model
- Plain, checkable math with its inputs.
- Weekly program brief
- Decisions needed, pushes this week, cost of delay.
- Blocker log
- Each blocker with the comment it came from.
- Program runbook
- Who is asked, when, and by whom.
- Accuracy record
- Every verdict and every override, logged. Planted-answer scores on every run.
Questions
Does it replace status meetings?
No. It changes what they are for. The meeting starts from what the work shows, and spends its time on the few milestones that need a decision.
How accurate is a forecast from points and velocity?
As accurate as the points. It is a plain calculation that anyone can check, shown with its inputs. Its value is that it is the same calculation every week, for every team, and it does not depend on anyone’s mood in the meeting.
Will it contact our teams directly?
Not unless you choose that. By default every ask is a draft for the program manager, who decides what to send and to whom.
What does the agent read that plain code cannot?
Ticket and epic comments: a wait on another department, work parked behind a migration, an epic closed with open bugs. Each one is shown with the quote it came from, so a person can check it.