Legacy application discovery

Start discovery when the application is difficult to run

Older applications can depend on unavailable build tools, undocumented database logic and integrations maintained by other teams. The discovery scope needs to account for those conditions instead of assuming that a source repository is the whole system.

When the original environment is missing

Identify the available source revision, build instructions, dependency files and database definitions. Record which tools, environments or components cannot be obtained. This establishes what can be investigated now and what would require a separate recovery task.

Look beyond the main repository

Database logic

Stored procedures and scheduled database tasks may implement rules that are absent from the application’s screens and services.

Batch and file interfaces

Job definitions, import and export formats, and rejected-record handling may be essential to the operational process.

Other teams and systems

External services, manually run steps and downstream consumers need owners who can explain their current use.

What can be learned without a running system

Source analysis can describe implemented code paths, conditions and dependencies. It cannot demonstrate that a production integration is active, that an undocumented environment matches the source, or that a proposed replacement behaves correctly at runtime.

Harten distinguishes those findings from questions that require execution, environment access or customer evidence. That distinction helps you decide whether further environment recovery is worth commissioning.

What must be checked with application owners

Ask which periodic jobs still run, where operators use workarounds and which outputs other organisations rely on. These details can materially change a migration scope even when the application code has not changed.

Begin with the material that is available

The discovery service explains the inputs and investigation process. We agree the boundary and limitations before starting; missing documentation does not automatically rule out useful work.

See how discovery begins