Dependency Tracker Example: Sixteen Live Dependencies on a Cloud Migration

A dependency tracker records what a programme needs from people it does not control: the deliverable, the provider, the consumer, the date needed, the date committed, and how recently that commitment was confirmed. The example below shows sixteen live dependencies on a fictional cloud migration, three of them late for three different reasons.

The example

The tracker below belongs to a fictional cloud migration programme: around 200 applications moved out of a leased datacentre in four waves, with a contractual exit date at the end of the year. Sixteen open dependencies is typical at the start of wave 1. Most sit with teams inside the same organisation but outside the programme, which is the ordinary case and the hardest one, because there is no contract to point at.

IDWhat is neededProviderConsumerTypeNeeded byCommittedConfidenceLast confirmedImpact if lateStatus
D-01Network peering between the landing zone and the shared services environmentCloud platform teamWave 1 migrationTechnical07 May07 MayHigh24 AprWave 1 cannot start; three-week slip to every later waveOn track
D-02Firewall rule set for the payroll application in the target environmentSecurity operationsPayroll workstreamTechnical14 May21 MayMedium25 AprThe payroll cut moves out of the May window and into a month with a year-end runAt risk
D-03Signed data processing addendum with the hosting providerLegalProgrammeContractual30 AprNot committedLow22 AprNo production data can be migrated at allLate
D-04Disposition decisions for the 34 tier-3 applications under the 6R frameworkApplication ownersWave planningDecision09 May16 MayMedium25 AprWave 3 scope stays unconfirmed and cannot be estimatedAt risk
D-05Test data refresh in the pre-production environmentData teamUATTechnical02 May02 MayHigh26 AprUAT start slips day for dayOn track
D-06Approval to decommission the legacy datacentre racksInfrastructure steering groupExit workstreamDecision30 Jun30 JunMedium18 AprExit savings in the business case slip a quarterOn track
D-07Licence confirmation for re-hosting the reporting platformSoftware vendorReporting workstreamContractual16 May30 MayLow24 AprReporting stays on-premise through wave 2, with a second cut laterAt risk
D-08Change freeze window agreed with retail operations for the wave 2 cutOperations directorWave 2 cutoverBusiness20 May20 MayHigh25 AprThe cutover weekend is not available and the wave moves a monthOn track
D-09Identity federation with the corporate directoryIdentity teamAll wavesTechnical25 Apr25 Apr-25 Apr-Delivered
D-10Security architecture board approval of the monitoring agentSecurity architecture boardCloud platform teamDecision08 May08 MayMedium23 AprApplications migrate without monitoring, or wait a month for the next boardOn track
D-11Backup retention policy for regulated finance records in the target platformRecords managementFinance workstreamPolicy13 MayNot committedLow21 AprFinance applications cannot be signed off for migrationLate
D-12Capacity uplift on the wide area links to the branch sitesNetwork vendorWave 2Technical06 Jun13 JunMedium24 AprBranch performance risk at wave 2 go-live; possible rollbackAt risk
D-13Service desk staff released for the hypercare rotaService desk managerHypercareResource15 May15 MayHigh25 AprHypercare cover is thin in week 1, when volumes are highestOn track
D-14Database version upgrade on the source estateDatabase teamWave 1Technical02 May02 MayMedium26 AprReplication tooling is unsupported and the wave 1 method changesOn track
D-15Interface specification for the warehouse feedThird-party logistics providerIntegration workstreamTechnical23 MayNot committedLow17 AprThe warehouse feed is rebuilt after go-live, with manual handling in betweenLate
D-16Board approval of additional migration factory fundingProgramme boardProgrammeDecision30 Apr30 AprMedium25 AprWaves 3 and 4 pause after the current statement of work endsOn track

Reading the example

The three columns that do the work

Needed by, committed and last confirmed are what turn a list into a tracker. Between them they answer the only question that matters: is somebody going to give us this thing in time, and how recently did they say so.

D-01 and D-02 look similar on a plan. One has a matching commitment, confirmed a fortnight ago, and is fine. The other has a commitment a week later than needed, which is a scheduling problem with an obvious next step: either the payroll cut moves or security operations reprioritises, and one of those conversations has to happen this week. Merging the two dates into a single "date" column hides that entirely.

The three late rows are late for different reasons and need different handling. D-03 is a legal dependency where the programme has no leverage and the impact is total; that is an escalation to a sponsor, not a chase. D-11 is a policy gap nobody owns, which usually means the programme has to draft the policy itself and ask for approval. D-15 sits with a third party, where the answer is normally commercial and slow, so the row also names the fallback. The general approach is set out in the dependency tracking guide.

How this is worked

In practice the tracker is reviewed weekly with the workstream leads, and the review is short because only three questions are asked per row: has the needed-by date changed, has the commitment changed, and when did we last speak to the provider. Rows where nothing has changed for three weeks are the ones to look at, not the ones being discussed loudest.

Escalation follows from the columns rather than from irritation. A dependency goes to the programme board when the gap between needed and committed cannot be closed by the two teams, or when there is no commitment at all and the needed-by date is inside four weeks. That threshold is written down in advance so escalation is a process rather than a judgement about how annoyed somebody is. Where those thresholds sit and who owns them is a governance design question, covered in programme governance.

What this example leaves out

The working version of this tracker sits in the RAID log and governance pack alongside the RAID log it feeds, and the presented version - the cross-team matrix that goes to a committee - is in the decision log and dependency matrix. The wave and application planning behind this example is the cloud migration wave planner.

Questions

Why record the needed date and the committed date separately?

Because the gap between them is the thing being managed. A single date column hides whether the provider has agreed to the programme's timing or to their own, which is the difference between a plan and a hope.

What does the last confirmed column do?

It shows how old the commitment is. A date agreed months ago and never revisited tends to fail quietly, and sorting by last confirmed finds those rows before the needed-by date does.

When should a dependency be escalated?

Against a threshold written down in advance - for example when the gap between needed and committed cannot be closed by the two teams, or when there is no commitment and the needed-by date is inside four weeks.

Should delivered dependencies stay in the tracker?

Yes. They are the record of what the programme relied on and who provided it, which matters when a later wave needs the same thing from the same team.

Examples · All 36 templates