Every failure I've traced back to root cause on a large program had the same infuriating property: it happened somewhere nobody was looking. Not in the middle of a team's work, where all the attention and all the tooling live, but at the edge — the moment one team's output became another team's input. We instrument the span and ignore the joint, and then we act surprised when the thing tears at the joint. It always tears at the joint.

This has gotten worse in the AI era, not better. The tooling we've built points inward — it makes the inside of a team legible, the board and the burndown and the automated status roll-up. What it doesn't touch is the space between teams, still run on an email, an assumption, and a shared hope that the other side has it handled. The darkness didn't go away. It moved. The seam is now the slowest, least-instrumented part of the whole system, and that's exactly where the schedule quietly bleeds out.

The work is visible now. The seams still aren't.

Point at any modern program and you'll find teams that can tell you, to the hour, the state of their own work. That's real progress, and most of what AI-augmented delivery has bought us so far. But ask who owns the dependency between team three and team seven and you'll get a pause, then two names, then a small argument. The coordination layer — always the real job of program management — is the part the tooling has done the least for.

PMI has been putting numbers on this for over a decade, and they're blunt: effective communication across stakeholders is the single most crucial success factor in delivery, and organizations whose communication is highly effective are more than five times as likely to be high performers — 38 percent of them, against 7 percent of the poor communicators. That gap isn't about talking more. It's about whether the handoffs between the people doing the work actually hold. The seam is where communication either happens or doesn't, and the most expensive place on the program to get it wrong.

Three seams that fail quietly

Programs tear along three seams. Each one defeats a different thing you were counting on.

1. The handoff that assumes

Team A marks its piece done and throws it over the wall. Team B catches something built to a spec they never agreed to, or eighty percent finished with the missing twenty invisible until they go to use it. There's rarely any malice in this — both teams are optimizing their own board, hitting their own dates, being good citizens of their own scope. The work got done. The handoff didn't, because nobody owned the space between "A is finished" and "B can start."

2. The dependency with two owners

Ask two teams who owns a shared dependency and sometimes both say "they do." On each team's board it looks handled. In reality it's owned by no one, and it surfaces the week it comes due — a surprise to everyone and a shock to the schedule. This is the one that most defeats automation: an agent reading either board sees a plausible, internally consistent plan. It cannot see the gap between two plans that are each coherent on their own and quietly contradict each other at the join.

3. The interface that drifts

The contract between two teams — a data format, an API, a shared definition of "done" — gets agreed once and then one side changes it without telling the other. Both teams keep moving, fast and confident, on an assumption that stopped being true weeks ago. The seam holds on paper and tears in integration, which is the most expensive possible place to find out. Wire an agent to a system of record on each side and it will faithfully report two truths that no longer agree.

The principle

AI can map every dependency in your program. It cannot own a single one. A seam isn't a data problem to be visualized — it's a responsibility to be held, and responsibility doesn't live on a board. The map is not the handshake.

Owning the seam as the job

The Army taught me this with a specific, uncomfortable ritual. The most dangerous moment for a unit isn't the fight — it's the relief in place, when one unit hands its sector to another. Two forces on the same ground, each only half-informed, is exactly when things go wrong, so the handover is treated as the high-risk event it is: the units overlap, they walk the ground together, and there is one precise, named moment when authority transfers. Nobody assumes. Nobody throws it over the wall. For that hour, the handoff itself is the mission.

Programs deserve the same posture, and on the ones I run the seams get it. Every cross-team dependency has one owner — a person, not two teams — accountable for the handshake the same way an artifact owner owns the signature. Handoffs are events, not emails: a defined moment where both sides confirm that what crossed the line is what was promised. And this is where AI genuinely earns its place — not instead of the seam, but pointed straight at it. An agent watching both sides is very good at catching the contradiction early: flagging when one team's "done Friday" is the other's "blocked till next sprint," the same way it warns you sooner on everything else. The machine spots the disagreement. A human still walks the ground and owns the transfer.

None of this is glamorous, which is exactly the tell — nobody demos a clean handoff. But I've watched it too many times to call it anything else. Teams that manage their seams move a little slower at the boundaries, on purpose, and finish faster overall. Teams that treat handoffs as free ship quickly inside every team and still blow the date — because the schedule never died inside anyone's sprint. It died in the gap between two of them, the gap everybody assumed the other was minding.

How to actually do this
  • Give every cross-team dependency a single owner. Two owners is zero owners — name the one person accountable for the handshake, not both teams and not "the PMO."
  • Make handoffs events, not emails. A defined moment where both sides confirm what crossed is what was promised beats a file dropped over the wall.
  • Write the interface down and version it. Format, API, definition of done — explicit, and any change signed by both sides instead of discovered in integration.
  • Point AI at the seam, not around it. Have the agent compare both teams' plans and flag where they disagree — the early contradiction a busy human misses.
  • Walk the ground before the transfer. Whoever owns the seam confirms reality on both sides before responsibility passes. No handoff on trust alone.

The bottom line

AI is closing the gap inside teams at real speed, and that's worth having. But it does almost nothing for the gap between teams, and that's the gap that actually kills programs. You can automate every task on every board and still lose the whole thing at a joint nobody owned. So mind the seams: give each one a single owner, make the handoff a moment instead of an assumption, and write the interface down where both sides can watch it drift. The model can show you where the seam is. Holding it together is still the job — and it always was.