Why this matters now:Kyndryl's first global Modernization Report, published on 1 October 2026 and based on 2,000 business and technology leaders, found that just 9% fully understand their applications' dependencies and that one in four report large numbers of undocumented applications. Nearly half of respondents said they are behind schedule on modernization goals. Most programmes are now planning waves on top of a map that the people drawing it say is incomplete.

The Diagram Lists What Someone Remembered

An architecture diagram is a record of what people knew on the day it was drawn. It shows the interfaces that were designed, reviewed, and funded. It does not show the finance analyst who pulls a nightly extract straight from a reporting table, the partner who collects a file from an SFTP folder every morning at six, or the service account created in 2016 that three other systems still use to log in. None of those were mistakes. They are what a system picks up over fifteen years of being useful.

Modernization programmes meet them at the worst moment. A team scopes a wave around the four integrations the application owner confirmed, builds the new service, schedules the cutover, and then discovers on the first night of parallel running that something else reads the old database. The fix is rarely hard once the dependency is known. What costs money is learning about it late, after the wave plan, the vendor contracts, and the business communication have been fixed around the wrong picture.

The discipline that avoids this is dependency discovery from observed behavior. That means reading scheduler exports, database audit logs, network flow records, file transfer logs, and source code, and then asking owners to explain what the data shows, rather than asking owners to recall what exists. In our discovery work, the first scan of a legacy estate nearly always returns more callers than the diagram listed, and the extra ones are seldom the harmless kind.

Nobody forgets a dependency on purpose. The system just outlived the people who knew about it.
9%
of organizations say they fully understand their applications' dependencies. Source: Kyndryl Modernization Report, October 2026 (2,000 leaders).
1 in 4
report large numbers of undocumented applications in their estate. Source: Kyndryl Modernization Report, October 2026.
67% vs 51%
Early adopters that deployed agentic AI in production for modernization report being ahead of or on track against 51% of other organizations. Source: Kyndryl, October 2026.

Six Dependencies That Diagrams Leave Out

These are the categories we ask teams to look for first. Severity reflects how likely the dependency is to cause a production incident or a missed cutover when it is found late.

Hidden dependencyHow it shows up lateSeverity
Shared database tablesOther applications read or write the legacy schema directly, so moving the data or changing a column breaks systems nobody listed as consumersCritical
Batch jobs and file transfersA nightly job feeds a partner, a ledger, or a regulator, and the new platform produces the output at a different time or in a different formatCritical
Service accounts and credentialsOld accounts are reused across systems, so retiring or rotating them stops a feed that has no documented ownerHigh
Downstream reports and spreadsheetsFinance and compliance teams rely on extracts that change quietly when the source system is replacedHigh
Hard-coded hostnames and pathsScripts and configuration point at fixed addresses, and the migration moves the target without updating the callerModerate
Authentication proxies and gatewaysLegacy login or token services are used by applications that were never part of the programme scopeLower

Not sure where your dependency gaps are?

10decoders reads scheduler exports, database logs, network flows, and source code across your first migration wave. You get an evidence-based dependency map and a list of unknown callers to resolve before cutover planning starts.

Book a Free AI Assessment →

Why Interviews Alone Cannot Find Them

Interviews fail for a simple reason: the people who know about a dependency are often not the people being interviewed. The application owner knows the designed interfaces. The database administrator knows who has accounts. The analyst knows which report breaks if a column moves. Each holds a piece, and no one has a meeting that puts the pieces together until the migration forces one.

Observation closes that gap, with caveats. A scan of network flows shows who connected, but a quarterly or year-end job may not run during the observation window, so a thirty-day capture misses it. Source code search finds hard-coded addresses but not the spreadsheet macro on a shared drive. Database audit logs show which accounts read a table, but not which person or process sits behind a shared login. Good discovery combines several sources, treats each as partial, and records confidence next to every dependency it lists.

Kyndryl's report points to one change in how this work is done. It found that 10% of organizations have deployed agentic AI in production for modernization, applying it to dependency mapping, code conversion, and documentation. Those are the tasks that eat engineering time and need patient reading of old material. An agent can read a million lines of job control language faster than a person can, and it can draft an explanation for each dependency it finds. A person still has to confirm the explanation with the owner, because an agent that reads code cannot know what the business does with the output.

Stage 1
Diagram-based scoping

Owners Confirm What They Remember

Wave plans come from architecture diagrams and owner interviews. Surprises are handled during testing or cutover, and the dependency list grows as incidents happen.

Stage 2
Scan-based discovery

Evidence Gathered Before Wave Planning

Scheduler exports, database logs, network flows, and code search produce a candidate dependency list. Owners review it, and unknown callers get a named engineer and a deadline.

Stage 3
Continuous dependency model

Map Kept Current From Live Telemetry

The dependency map refreshes from production signals, carries a confidence rating per edge, and gates every wave. Agents draft explanations and people confirm them with owners.

Checklist: Is Your Dependency Map Good Enough to Plan a Wave?

Take the first application in your next wave and test the map against this list. Anything you cannot show is a risk to price into the plan.

What a ready programme can show
A dependency inventory built from observationEvery application in the first migration wave has a list of callers, callees, shared tables, scheduled jobs, and file transfers taken from logs, network flows, and scheduler exports, not from the architecture diagram alone.
Batch jobs mapped to their data and their clockEach job lists the tables and files it reads and writes, the jobs that must finish before it starts, and the time by which downstream consumers expect the output.
Shared database access traced to a named consumerEvery account that touches the legacy schema is matched to a team or system, and accounts with no owner are flagged before the schema is moved or locked down.
Service accounts and credentials listed with their callersNon-human identities that the old system uses or issues are catalogued, so a rotation or decommission does not silently break a payment file or a partner feed.
Reports and spreadsheets treated as consumersDownstream extracts, finance spreadsheets, and regulatory returns that read from the legacy system are on the list, with an owner who has confirmed the new source gives the same numbers.
Hard-coded endpoints found by search and by trafficSource code, configuration, and scripts are searched for fixed hostnames, IP addresses, and file paths, and the results are compared with what the network actually shows.
Unknown callers given a deadlineAny dependency with no owner after two weeks goes to a named engineering lead, who either finds the owner or schedules a controlled shutdown test for that dependency.
Dependency map refreshed on a scheduleThe map is regenerated from live telemetry at least monthly during the programme and again before each cutover, and a change in it blocks the wave plan until someone reviews it.
A dependency map is not a document you finish. It is a measurement you keep taking until the old system is switched off.

What to do this week

01 Export the scheduler and list every job

Pull the job schedule for the first application in your next wave from whichever scheduler runs it, whether that is a mainframe scheduler, cron, or an enterprise workload tool. For each job, record what it reads, what it writes, who receives the output, and what happens if it runs late. Send the list to the application owner and the downstream teams and ask for corrections, not approval. Corrections are what you are after.

02 Pull the account list from the legacy database

Ask the database administrator for every account with read or write access to the legacy schema, with last login date and source host. Match each one to a team or system. Accounts with recent activity and no owner go to the top of the unknowns list. Accounts with no activity in twelve months become candidates for a controlled disable test, run in a quiet period with a rollback ready.

03 Capture a full business cycle of traffic

Start network flow and file transfer logging on the application now, and plan to keep it running through at least one month end and, if the application has regulatory returns, one quarter end. A thirty-day capture misses year-end and quarterly jobs, so record the gap in the map and ask owners about those jobs by name. Add the capture dates to the map so everyone can see what it has and has not observed.

04 Assign every unknown a name and a date

Create a short register of unexplained connections, with the source, the evidence, a named engineering lead, and a resolution date two weeks out. At the review, each item ends in one of three states: owner found and dependency documented, no owner and scheduled for a shutdown test, or accepted risk signed off by a business sponsor. An unknown with no state is a cutover incident waiting for a date.

Let 10decoders Map Your Hidden Dependencies

We run dependency discovery on one to three applications in your next migration wave, covering batch schedules, shared database access, service accounts, file transfers, and downstream reports. You leave with an evidence-based map with confidence ratings, a register of unknown callers, and a wave plan sequenced around what we found.