Application Retention

Updated Sep 30, 2026

Application retention is a deliberate decision to keep an existing system in active service for a defined period. The decision is based on a current requirement, dependency, constraint, or risk that makes migration or retirement unsuitable. Retention includes the maintenance, security, and operational work required to keep the system dependable.

Application retention is an explicit choice to keep a system running. It applies when the application still serves a required purpose and moving or removing it is not the selected action for the current planning period. The decision includes continuing ownership and operating work; it is not an absence of a decision.

Why an application may be retained

A system may depend on hardware that has no supported replacement, implement a stable process that does not justify immediate change, or remain necessary until another programme removes a shared dependency. Contract, regulatory, data-access, and timing constraints can also affect the decision.

Retention reasonEvidence to recordCondition for review
Required capabilityNamed users and business ownerReplacement capability becomes available
External dependencyInterface and dependent ownerDependency is removed or replaced
Migration riskSpecific failure or continuity concernRisk can be controlled and tested
Timing constraintRelated programme or fixed eventDependency milestone is reached
Record accessData and retrieval requirementArchive meets access obligations

The reason needs to be specific enough to revisit. “Too difficult” does not identify what must change before another strategy becomes possible.

What a retention decision contains

A legacy codebase audit should record retention as a bounded decision with an owner and review point. The record includes:

  • Scope: The application, component, or capability being retained.
  • Reason: The current requirement or constraint that supports retention.
  • Dependencies: Systems, data, people, and processes that still rely on it.
  • Operating obligations: Security updates, access reviews, backups, monitoring, and support.
  • Exit conditions: Evidence that would allow rehosting, replatforming, rearchitecture, or retirement.
  • Review point: The event or date that triggers a new decision.

This turns retention into managed scope rather than an indefinite exception.

Retention does not freeze the system

Keeping an application does not remove the need to manage its technical debt. Unsupported dependencies, expiring certificates, access controls, and recovery procedures still require attention. The team may also need small changes to preserve compatibility with systems around it.

Application Rehosting can be paired with retention when the application remains structurally unchanged but its current infrastructure cannot continue. Application Replatforming may be appropriate when a bounded platform change is required to keep the retained capability supportable.

How retention fits the migration portfolio

Retention and Application Retirement answer different questions. Retention states why a system must remain active now and what would reopen the decision. Retirement states how its remaining responsibilities and records will be removed from active service.

A portfolio can contain retained and migrating systems at the same time. Their shared dependencies determine the order in which work can proceed. Recording those relationships prevents a retained application from silently blocking another move and helps the migration plan separate deliberate stability from neglected work. That distinction matters when estimating the real cost of taking over and maintaining a legacy codebase.