learn-ai-project-management-with-phoebe / PM session 4 of 10
Learn AI + Project Management with Phoebe · PM track · Session 4 of 10

Dependencies and critical path: the arrow that quietly owns your date

Northwind is in week 3. The milestones are laddered, the gate criteria are written, and the plan looks reassuringly tidy. Tonight you find out what actually blocks what - and you find the one dependency nobody wrote down, the one that will eat four weeks in October if you meet it in October. AI is genuinely excellent at pulling dependencies out of three weeks of messy notes. It is genuinely terrible at knowing whether the other side agreed.

🟠 PM track PMs · TPMs · delivery leads Dependency map 45 min
0-3 · Where we are 3-16 · Types and hard gates 16-38 · Build-along: the map 38-45 · Gate hunt + Q&A
Part 0

Where we are: week 3, and the plan still looks perfect

In b2 you turned Elena V.'s mandate email into a charter. In b3 you laddered six milestones with gate criteria: M1 discovery and source inventory, M2 landing zone and platform stood up, M3 raw ingest signed off with a gate on 10 August, M4 modelled warehouse signed off, M5 governed BI in production, M6 first AI/ML use case live. Nine source systems, 812k rows a night, a 99% data-quality gate, every milestone with a definition of done, nothing red. That is exactly when a programme is most dangerous. A milestone ladder tells you the order you would like things to happen in. It says nothing about what physically cannot start until something else finishes, who outside your programme controls one of those arrows, and which arrow no amount of overtime can shorten.

Live - presented in session Self-study - read after class ★ Try it now prompt Official sources covered
★ What you walk out with today A dependency table extracted from raw meeting notes with owners named on both sides, a Mermaid diagram of the Northwind critical path with the R-03 hiring gate drawn on it, a five-question interrogation you can run on any map to find the dependency everyone forgot, and one rule that will save you a quarter: an unconfirmed dependency is a rumour with an arrow drawn on it.
Part 1 · covers PMBOK 7 planning and uncertainty

Three relationship types, and the label that actually matters 6 min live

Textbooks spend a lot of pages on the three logical relationships and about a paragraph on the distinction that decides whether you keep your job. Learn the three quickly - they are genuinely useful shorthand - then spend your real attention on the second row: is this arrow inside my control, outside it, or a hard gate that no amount of parallel effort can shorten?

THE THREE RELATIONSHIP TYPES Finish to start B cannot start until A has finished Start to start B starts once A has started, then overlaps Finish to finish B cannot finish until A has finished THE LABEL THAT DECIDES YOUR DATE Internal Sofia K. cannot model until Marcus L. lands the raw ingest External Veridian must ship the POS extract spec. We cannot pull it forward Hard gate R-03: two engineers not hired, so M4 cannot start at all Parallel work fixes a slow dependency. Nothing fixes a hard gate except closing it.
🔍 Click to zoom - three relationship types on top, and the three labels that actually change what you can promise
LiveThe three types, in about ninety seconds2 min
  • Finish to start. The default. Marcus L. finishes the raw ingest, then Sofia K. starts modelling. If you can only remember one, remember this one.
  • Start to start. Dan R. can start building the BI semantic layer once modelling has started, working off the agreed model rather than the finished tables. He does not need Sofia to be done, he needs her to be underway. This is where you find compression.
  • Finish to finish. Data-quality certification cannot finish until ingest finishes, because the last table has to pass the 99% gate too. Very common at gates, and very often mislabelled as finish-to-start, which makes your plan look four weeks longer than it is.
Real world

Six weeks that were never really there. A delivery lead inherited a plan where BI development sat entirely after warehouse sign-off, finish to start, six clean weeks of it. In the first walkthrough Dan R. said the thing that had never made it into a document: "I only need the agreed model, not the built tables - I have been waiting on paper, not on data." Relabel one arrow to start-to-start and the programme got four weeks back without anyone working a weekend. Nobody had been lying. Nobody had ever asked.

LiveInternal, external, and the hard gate3 min
LabelWho controls itWhat you actually do about it
InternalYou, through your own teamResequence, resource, overlap. This is the pile you can genuinely manage your way out of.
ExternalSomebody who does not report to you and has other prioritiesConfirm in writing, name their owner, agree a date, and put it on the risk register the day it is unconfirmed.
Hard gatePhysics, law, contract, or hiring realityNothing shortens it. Make it visible, start it early, and stop pretending the plan absorbs it.

A hard gate is the one that kills programmes, because it behaves so politely until it does not. Everything upstream of it can be green. Everyone can be busy. The burndown can look healthy. And then you reach the gate and discover that no amount of parallel work, overtime, or clever resequencing helps, because the thing you need is a signed contract, a legal approval, a decommissioned legacy system, or two people who do not work here yet.

Real world

The green programme that stopped dead. A platform migration ran green for eleven weeks. Every workstream on track, every demo good. In week twelve it hit a security review that could only start after the penetration test, which could only be booked once the environment was frozen. Nine weeks of gate, none of it on the plan, none of it compressible. The retro finding was not "we were late". It was "we drew our arrows only between our own tasks."

Self-studyLead, lag, and why they are not slack2 min read
  • Lag is enforced waiting. Northwind's DQ certification has a three-day lag after each ingest cut, because the checks run over three nightly batches of 812k rows. That is not padding, it is how long the machine takes.
  • Lead is deliberate overlap: starting the successor before the predecessor is done. Dan R. starting on the agreed model is a lead of about two weeks.
  • Neither is slack. Slack is how long an activity can slip without moving the end date. Write lag only where you can name the mechanism - three nightly batches is a mechanism, "buffer for issues" is a feeling, and feelings belong on the risk register.
Part 2 · covers the extraction job AI is genuinely good at

Pulling dependencies out of three weeks of notes 5 min live

Here is the honest split. Reading twenty pages of stand-up notes, workshop scribbles and call summaries and surfacing every instance of "X said they need Y before Z" is a mechanical, tedious, high-recall reading task. That is one of the very few things AI does better than a tired human at 6pm on a Thursday. Deciding whether Veridian actually agreed is a phone call, and no model can make it.

LiveWhy extraction beats a workshop whiteboard2 min

The traditional way to build a dependency map is to get everyone in a room and ask "what are you waiting on?". It works, and you should still do it. But it has two known failure modes, and extraction covers both.

  • People only report what they are currently blocked by. Nobody says "in nine weeks I will need the legacy warehouse decommissioned" because it is not hurting yet. Notes from three weeks ago remember it. R-05 lives in exactly that gap.
  • The quiet person in the room stays quiet. The vendor manager who mentioned the Veridian spec lead time once, in passing, in a call summary, will not repeat it in a workshop where the architect is talking.

So run both. Extract from the notes first, bring the table to the workshop, and let people argue with rows instead of staring at a blank wall. Feed it stand-up notes, workshop outputs, call summaries, ticket comments and the b3 plan, raw and messy - cleaning it first is how you accidentally delete the sentence that mattered.

LiveThe non-negotiable follow-up: confirm every external arrow3 min

Extraction gives you candidates, not commitments. The follow-up is not optional and it is not a nicety: every external dependency must be confirmed by the other side, in writing, with a named owner and a date. Until then it is not a dependency. It is a rumour with an arrow drawn on it.

The confirmation message is four lines and takes two minutes to send:

State the dependency in one sentence, in their language. "We need the POS extract field spec from Veridian before we can build the ingest."

Name the owner on their side. Not the company - the person. "Priya N. tells me this sits with your integration lead."

Ask for a date and say what it feeds. "Can you confirm a date? It feeds our 10 August M3 gate."

Say what you will do with the answer, then mark the row confirmed only when the reply exists - not when you sent the message, and not when someone nodded on a call.

Real world

The dependency that was one person's assumption. A programme carried an arrow that said the finance system team would provide a nightly reconciliation feed by a certain date. It had been in the plan for four months, dark green, never questioned. When someone finally asked the finance team, the answer was: "we have never heard of this, and we do not have a feed like that." The whole arrow had come from one architect saying "finance can probably give us that" in a workshop nine months earlier. Four months of a plan built on the word "probably".

Part 3 · the Northwind chain and the hiring gate

The critical path, and the gate sitting in the middle of it 5 min live

The critical path is the longest chain of dependent work through your programme. Everything on it moves your end date one day for every day it slips. Everything off it has slack. Which means the only genuinely important question about any dependency is: is it on the path? At Northwind the path runs straight through R-03, and R-03 is not a task.

THE NORTHWIND CRITICAL PATH, WEEK 3 M3 raw ingest gate 10 Aug, 9 sources, DQ 99% Model design Sofia K. - can run before the hire R-03 hard gate 2 data engineers not hired yet M4 warehouse cannot start until the gate closes Everything left of the gate can run in parallel and land on time. Nothing right of it can start. Two engineers is not a task, it is a hiring cycle. The earliest honest M4 date is offer accepted plus notice plus onboarding.
🔍 Click to zoom - the chain reads smoothly right up to the gate, which is exactly the problem
LiveWalking the Northwind chain out loud3 min
  • M3 raw ingest signs off on 10 August. Nine source systems landing 812k rows a night, all passing the 99% DQ gate. Marcus L. owns it, and NWD-412 (the failed CDC load) is the live blocker.
  • Model design can start now. Sofia K. does not need the data to design the model, she needs the source inventory from M1. This is a start-to-start, not a finish-to-start, and it buys you weeks.
  • M4 modelled warehouse cannot start. Not "will be slow". Cannot start. Sofia designs; two data engineers build. Northwind has hired neither. R-03.
  • Therefore M5 governed BI and M6 the first AI use case both move day for day with the hiring, not with anything Dan R. or Sofia K. do.

Notice what happened. R-03 was on your risk register as a resourcing risk, medium-ish, the kind of row people skim. Drawn on the dependency map it is a wall across the critical path, and every week it stays open is a week added to M4, M5 and M6 simultaneously. So make it impossible to skim: give it its own shape on the diagram (in the Mermaid below the gate is a hexagon, not a box); write the arithmetic underneath it - offer accepted plus four weeks notice plus two weeks onboarding is the earliest possible M4 start, and sponsors argue with adjectives but concede to arithmetic; give it a decision date rather than a status - "if no accepted offer by 24 August we switch to contract engineers", which is a trigger, and next week builds a register full of them; and put it on page one of the status report, not in the risk annex, every week until it closes.

Real world

"We will backfill in Q3." A data programme carried a two-headcount gap as an amber risk for five months. Every status report said recruitment was underway. Nobody ever drew it on the plan, so nobody ever computed what it meant: the build phase could not start, so the whole back half of the programme was sliding one week per week, silently, while the front half stayed green. The day someone finally drew the arrow, the sponsor approved two contractors in an afternoon. Five months of the plan had been fiction because a risk row is easy to skim and an arrow across the critical path is not.

Demo 1 of 2

Notes to table to diagram ★ 14 min · everyone builds

Three moves. Extract to a table with sources you can check, argue with the table, then render the confirmed map as a diagram. Do not skip straight to the diagram - a pretty graph of unverified arrows is the most persuasive wrong artifact in delivery.

Load the raw notes into your Northwind workspace: three weeks of stand-ups, the M2 workshop output, and Priya N.'s summary of the Veridian call. Then run the extraction prompt below. Expect twelve to twenty candidate rows, several of them wrong - that is the correct outcome.

Walk the table with the team for ten minutes. Delete the inventions, merge the genuine duplicates, split the fake ones, mark what is truly confirmed, and send the confirmation messages for every external row today.

Render the confirmed map as a diagram, with unconfirmed arrows visibly marked, and bring it to the next steerco.

★ Try it now - dependency extraction from raw notesRead the attached notes: three weeks of Northwind stand-ups, the M2 workshop output, and Priya N.'s summary of the Veridian call. Find every DEPENDENCY that someone stated or implied. For each one, give me a table row: - id, D-01 upward - predecessor (what must happen first) and successor (what is waiting), each with its owner BY NAME on that side - type: finish-to-start, start-to-start, or finish-to-finish - internal or external, and if external, which organisation - the exact quote or note line it came from, so I can check it in eight seconds - confirmed or UNCONFIRMED. Confirmed ONLY if the notes show the OTHER side agreeing. RULES - Never invent a date. If no date was stated, write "no date stated". - Never invent an owner. If the notes say "the team", write "owner TBC - ask [role]". - Keep hedged statements hedged. Do not turn "might need" into "needs". - If two notes contradict each other, give me both rows and flag the conflict, and do not merge rows unless the quotes describe the same thing. When unsure, split. - Sort so every UNCONFIRMED EXTERNAL row is at the top.
IDPredecessor → successorTypeClassStatus
D-01Veridian POS extract spec (Veridian integration lead) → build POS ingest (Marcus L.)Finish to startExternalUNCONFIRMED - no date stated, VN-2291 open
D-02Legacy warehouse decommission window (Elena V.) → M5 governed BI cutover (Dan R.)Finish to startExternal - IT opsUNCONFIRMED - surfaced from a week-1 note, R-05
D-03NWD-412 CDC load fix (Marcus L.) → M3 raw ingest sign-off (Marcus L.)Finish to startInternalConfirmed - 10 Aug gate
D-05Two data engineers hired (Elena V.) → M4 warehouse build (Sofia K.)Finish to startHARD GATE - R-03Open, no accepted offer

Read D-02 again. That row came out of a single sentence in a week-1 note nobody remembered, and nobody would have raised it in a workshop, because in week 3 the legacy warehouse is not hurting anyone. It hurts in week 22, when it is a nine-week external gate on M5. Now render the map. Mermaid is the fastest way to get a dependency graph into a document, a wiki or a pull request without opening a drawing tool, and it diffs in version control like text because it is text. The syntax itself is taught properly in learn-mermaid-with-phoebe - here you just need enough to draw a map.

The confirmed map as Mermaid - paste into any Mermaid renderergraph LR VEN[Veridian POS extract spec - UNCONFIRMED] --> M3[M3 raw ingest signed off 10 Aug] CDC[NWD-412 CDC load fix - Marcus L.] --> M3 M3 --> DM[Model design - Sofia K.] DM --> GATE{{R-03 two data engineers hired}} GATE --> M4[M4 modelled warehouse] M4 --> M5[M5 governed BI in production] M5 --> M6[M6 first AI use case live]
Three habits that make a Mermaid map useful rather than decorative Give every node a short id (M3, GATE, VEN) so you can rewire the graph without retyping labels. Give the hard gate a different shape - the double braces make a hexagon - so it cannot be skimmed past. And write UNCONFIRMED into the node label, not into a legend: legends get cropped when someone pastes the picture into a deck.
Demo 2 of 2

Find the gate everyone forgot ★ 8 min · interrogate your map

You now have a map. A map is a claim, and claims should be attacked. Five questions, asked of any dependency map, will find the missing arrow more reliably than another workshop. Run them on Northwind now, then run them on your own programme this week.

★ Try it now - the five-question interrogationHere is our Northwind dependency table and the Mermaid map built from it. Interrogate them. Answer these five questions one at a time, and where you are guessing, say so explicitly instead of asserting. 1. What in this map has NO predecessor but obviously should have one? Look for anything needing an environment, an approval, a licence, a contract, a security review, a data-sharing agreement, or a person who does not work here yet. 2. Who OUTSIDE this programme sits on the critical path? Name the organisation and the role. For each one, is there a written commitment or only a note? 3. Which arrow is UNCONFIRMED, and what exactly would confirmation look like - who sends what to whom, and what reply makes it confirmed? 4. If the hard gate R-03 slips by two weeks, which milestones move and by how much? Show the arithmetic, do not summarise it. 5. What is the EARLIEST DATE we would know that R-03 has slipped? If the honest answer is "when M4 fails to start", say that plainly - that is the finding. Do not propose mitigations yet. Just find the holes.

Run it, and read question 1's answer with real suspicion - this is where the missing environment, the unbooked security review and the undiscussed data-sharing agreement show up.

Take question 5 seriously. "When M4 fails to start" is a terrible answer and it is the true answer on most programmes. The fix is a leading indicator: offers out, interviews booked, agency briefed. Then turn every hole into a new dependency row or a risk row - next week you build the register that holds them.

Homework

Try it yourself - this week ◐ 40-60 min total

Source material

Official sources covered

Dependency logic, critical path and gates come from the delivery canon, which has not moved in decades and will not. The AI half is the extraction step. This session covers:

PMBOK Guide 7th ed. - planning and uncertainty performance domainsParts 1 + 3 · relationship types, lead and lag, critical path, gates
learn-tech-project-pmo-with-phoebe - dependencies and hard gatesParts 1-3 · the Northwind map, built by hand there and with AI here
learn-mermaid-with-phoebe - graph syntaxDemo 1 · enough Mermaid to draw a map; the language itself lives there
Check yourself

Three questions before you go 🎯 ◐ 90 seconds

1 · AI extracts a dependency from your notes: Veridian must ship the POS spec before ingest can be built. What is it until Veridian replies?

Extraction produces candidates. An external dependency is confirmed only when a named person on the other side agrees in writing, with a date. Until then it is one architect's assumption wearing an arrow.

2 · R-03 means two data engineers are not hired, and M4 cannot start without them. Your sponsor asks you to run things in parallel to catch up. What is the honest answer?

Parallel work fixes a slow dependency. A hard gate has no task to overlap: offer accepted plus notice plus onboarding is the floor. Show the arithmetic and give it a trigger date for switching to contract engineers.

3 · Dan R. says he only needs the agreed model, not the built tables, to start the BI semantic layer. What changes on your map?

He is still dependent, so the arrow stays - but the relationship is start-to-start, not finish-to-start. Mislabelling this makes a parallel workstream look sequential and adds weeks that were never really there.

PM session 4 cheat sheet · pin this

Three typesfinish-to-start (the default), start-to-start (where compression hides), finish-to-finish (common at gates).
Three labelsinternal you can manage, external you must confirm, hard gate you can only start earlier.
Extraction is the AI jobreading three weeks of notes for "X needs Y before Z" is high-recall drudgery. Feed it messy.
Confirmation is the human jobnamed owner on the other side, in writing, with a date. Otherwise it is a rumour with an arrow.
Quote the sourceevery row carries the note line it came from, so you can check it in eight seconds.
The critical pathlongest chain of dependent work. On it, one day slipped is one day lost. Off it, you have slack.
Northwind's gateM3 → model design → R-03 hiring → M4. Everything left is green, nothing right can start.
Make the gate visibleown shape on the diagram, arithmetic underneath, a decision date, and page one of the report.