Application rationalization fails when a ranking becomes a shutdown plan. Enterprise architects and CTOs can inventory applications, score them, put them on a matrix, and target the bottom quartile for retirement; that is the “easy 20%.” The harder problem begins when organizational incentives or an undocumented dependency make a defensible ranking unsafe to act on.

Rationalization is the recurring process of inventorying the estate, assessing business criticality, cost, and technical risk, and deciding what to keep, invest in, migrate, or retire. Its output is a portfolio decision about which applications are retained, removed, or consolidated and where modernization investment belongs. Implementation planning starts after those portfolio choices are made.

That sequence separates rationalization from modernization. Rationalization asks whether a system should exist and whether it deserves further investment; modernization determines how to change the systems that remain. Rationalization consequently acts as a portfolio-wide gate, with modernization following for the retained set.

Making that gate reliable requires three different decisions. Scoring establishes what deserves to stay, change, or go; independent operational evidence establishes whether those scores deserve trust; dependency structure establishes when migration or retirement is safe. When those questions collapse into one ranking, a sensible portfolio recommendation can become a bad production decision.

Five factors establish what deserves to stay, change, or go

Scoring comes first as a portfolio judgment because operational telemetry and dependency maps cannot decide by themselves whether an application merits investment. A useful model separates five dimensions: business criticality, cost to run, cost to change, technical risk, and blast radius. Each answers a different question, so disagreements can be traced to specific evidence instead of compressed into one composite judgment.

Dimension What it captures Evidence to check
Business criticality Revenue or compliance dependency if the application disappears Incident history
Cost to run Infrastructure, license, and support spend Finance and CMDB data checked against actual usage
Cost to change Effort required to ship even a small modification Ticket cycle time
Technical risk Age, single points of knowledge, and patch debt Static analysis and who remains on the team
Blast radius How many other systems fail if the application moves or disappears Dependency mapping

The two cost dimensions lead to different investment decisions because they arise from different work. Cost to run appears in infrastructure expenditure, licenses, and support, while cost to change appears in engineering hours whenever even a small modification is required. One application can be “expensive” to keep running, while another can be “expensive to touch” because each change consumes engineering effort.

The same separation matters among business criticality, technical risk, and blast radius. Revenue or compliance dependence establishes how “important” a system is, while age, concentrated knowledge, patch debt, and delivery behavior can make it “important and fragile.” Blast radius captures the effect on other systems, so an application that appears minor in isolation can have major portfolio significance when many systems depend on it.

The familiar cost-versus-business-“value” matrix compresses those distinctions into two axes. Technical risk and blast radius have no natural position on that grid, so they tend to disappear or get absorbed into value, while a single cost axis hides the difference between operating expense and engineering effort. A five-factor assessment preserves the basis of each contested judgment and can change the investment call before sequencing begins.

That extra resolution matters in both directions. A cheap application can still be a poor investment when it duplicates another system whose blast radius is lower. Conversely, an application with weak standalone value can acquire very different portfolio significance once its technical risk and downstream dependencies are visible.

Gartner supplied widely used outcome vocabulary in 2015 through the TIME model: “Tolerate, Invest, Migrate, or Eliminate.” TIME names the classification reached by a rationalization exercise, while the five factors provide evidence for reaching it. Once the analysis is complete, assigning the TIME classification can be treated as roughly a five-minute step rather than the main analytical work.

The scoring model establishes the portfolio judgment, but its quality depends on the evidence underneath it. Five-factor scoring needs incentive-aware data triangulation, dependency-based sequencing, and recurring governance around it. The first problem after defining the factors is whether the information feeding them can be believed.

The people who know an application best can also have incentives to preserve it

That evidence becomes difficult to trust when its strongest information source has a stake in the result. Application owners know incident and escalation history in detail, but they also know that a weak assessment can lead to retirement. Budget, headcount, team continuity, and career incentives can therefore influence self-ratings of criticality, cost to change, and blast radius without requiring deliberate dishonesty.

Criticality makes the incentive concrete because a high score strengthens the case for preserving budget and headcount and keeping a team intact. Surveys and CMDB ownership records can then encode that judgment as portfolio data. The resulting score appears precise even when production behavior provides a different picture.

Because a portfolio platform cannot remove those incentives, credible scoring needs evidence the owner cannot unilaterally control. Business criticality should be checked against incident history; run cost against finance, CMDB records, and actual usage; change cost against ticket cycle time; technical risk against static analysis and current team knowledge; and blast radius against mapped dependencies. Owner knowledge remains an important input, while these independent records make the judgment testable.

Operational behavior adds another cross-check when owner assertions concern production activity. Change-failure rate, ticket volume, and actual pager responsibility expose different parts of a system’s footprint, so relevant self-reported claims should be triangulated against paging and ticket activity before acceptance. Ticket volume indicates actual usage and pain, while pager data identifies who carries operational responsibility when production fails.

Pager records can expose an ownership problem that a CMDB misses. The person or team receiving incidents may differ from the nominal owner, revealing shadow IT: production systems for which nobody formally accepts ownership because the system was never authorized to exist. Reconciling nominal ownership with actual pager responsibility changes whose evidence should enter the portfolio decision and corrects the ownership record.

With ownership established, delivery behavior can test claims about criticality or stability. A quiet on-call rotation combined with a flat change-failure rate over several quarters can conflict with an owner’s high-criticality assessment. A rising change-failure rate and a growing on-call rotation point in the other direction, signaling increasing technical risk regardless of how stable the owner reports the application to be.

Change-failure rate also has a wider research basis as an operational signal. The DevOps Research and Assessment (DORA) research programme, through its Accelerate research, identifies it as one of four key metrics differentiating elite software-delivery performance from low performance. IBM, citing the DORA framework in 2024, gives the following benchmark:

Performance level Change-failure rate
Elite 0-15%
High 16-30%
Medium 31-45%
Low 46-60%

Those ranges still leave room for application-specific judgment, but they give teams an independently observable measure for challenging a low-risk assessment when delivery failures keep rising. Ticket and paging activity provide the same check when they diverge from claimed importance. Each discrepancy gives the portfolio team a concrete question to investigate instead of requiring it to accept a self-rating at face value.

This triangulation can begin with existing tools rather than a new portfolio platform. Even a spreadsheet can cross-reference self-reported scores, paging rotations, ticket volume, and existing CMDB information and expose the gap “in an afternoon.” The procedural change matters: owner knowledge remains necessary, while evidence outside the owner’s control also contributes to judging the application.

More credible evidence improves the score, but it still cannot determine the order in which an organization should act. A correctly identified retirement candidate can remain unsafe to retire because other production systems depend on it. Blast radius now changes roles: it contributes to the portfolio judgment during scoring and becomes a hard sequencing constraint during execution.

Okoone experts
LET'S TALK!

A project in mind?
Schedule a 30-minute meeting with us.

Senior experts helping you move faster across product, engineering, cloud & AI.

Please enter a valid business email address.

Dependencies can overturn the right score, and determine the retirement order

That sequencing problem appears repeatedly in enterprise replatforming engagements. Consider a system with low business criticality and high cost to change: its score points toward retirement, but mapping reveals six downstream services call it every day. The judgment about the system in isolation can remain valid while the proposed timing becomes unsafe.

A smaller-looking application can create the same constraint through a different mechanism. A low-criticality, low-cost system may sit upstream of six others through shared authentication or an undocumented batch job, so its consumers carry consequences that its direct business role does not reveal. The dependency relationship changes the safe order of work even when the application’s own score is accurate.

An upstream identity service makes the constraint stronger. A low-value, high-cost application appears to be an obvious retirement candidate until the dependency graph shows that it provides identity services to a dozen applications on every request. Its score can still argue for eventual elimination, while its production position means it moves last or possibly remains in place.

Batch processing can hide the same kind of coupling because the relationship may appear only on a schedule. The application with the worst apparent business-criticality and cost-to-change profile may still be invoked every night by three other systems. A ranking ordered from “worst” application to “best” application cannot show whether those three callers have already migrated.

Legacy middleware adds another risk: missing inventory data. A service can score strongly for elimination on the other dimensions, while dependency mapping uncovers downstream callers that were never documented in the CMDB. Switching off that middleware before replacements exist for those consumers would break them even though the elimination judgment itself was sound.

Together, these cases show the two jobs performed by blast radius. During scoring, it influences whether a system should be retained, invested in, migrated, or eliminated by revealing the effect of its disappearance. During execution, the same dependency information constrains timing because consumers have to move before a heavily depended-on provider can safely disappear.

The resulting operating rule is simple: scoring determines what should retire; dependency structure determines when it can retire. A retirement ranking yields to the graph during execution because the ranking expresses portfolio preference while the graph expresses production constraints. Dependencies can make an otherwise correct retirement action premature even though they cannot, by themselves, establish that a system deserves investment.

Because dependencies can invalidate an execution sequence, teams should surface obvious coupling early rather than wait for every score to be perfected. Pull a dependency graph for the top twenty applications by ticket volume and use it to identify which portfolio conversations need attention first. High ticket volume gives that early scan a production-based starting set; full scoring still determines the portfolio outcome.

The early scan also depends on a credible inventory. Pull the estate from the CMDB, then reconcile those records against what actually runs in production before rationalizing the visible set. CMDB entries and production reality can diverge, and undocumented callers are precisely the dependencies most likely to undermine a shutdown plan.

Once the visible estate has been scored and mapped, the full graph can supply the retirement order. Retire leaf nodes, applications on which nothing else depends, first, then work inward through the graph. Applications with wide blast radii remain until their consumers have migrated away, regardless of where those applications sit in the score ranking.

This ordering explains why the score cannot serve as the project plan. A five-factor model can establish that the upstream identity service or legacy middleware ultimately needs to disappear, while the dependency graph schedules the consumer migrations needed to make that outcome safe. The two artifacts answer different questions, preserving both the portfolio justification and the production constraint.

Rationalization must stay live after the first retirement decision

A safe initial sequence still decays as the estate changes. Ownership moves between teams, dependencies shift, delivery behavior changes, and applications acquire or lose operational importance, so a Q1 scoring matrix can become “fiction by Q3.” Rationalization works better as a quarterly governance cycle than as a one-time audit.

Each quarterly refresh should revisit change-failure rate, ticket volume, and paging load using the engineering signals already used to test the original assessment. Those measures show whether production still supports the earlier judgment. When a signal changes materially, the team should reopen the factor that depended on it instead of automatically carrying the previous classification forward.

Paging is especially useful as a cheap early warning because its meaning has already been tied to operational responsibility. If an application assessed as business-critical develops a quiet on-call rotation, its criticality deserves reassessment; if paging rises for a system classified Tolerate or Eliminate, the assumptions behind technical risk or blast radius may be wrong. That review can catch drift before a scheduled retirement turns an outdated judgment into an incident.

The same evidence cycle continues after decommissioning. A spike in change-failure rate following a retirement can indicate that the dependency graph missed a caller or another downstream relationship. Rigorous quality assurance after decommissioning can detect this breakage, and the production result then becomes evidence for the next quarterly review.

Stop rationalizing where the decision problem ends

Recurring governance has a practical lower boundary because small, legible estates can often be inspected directly. Below roughly 20 applications, an estate may be clear enough that it does not need five-factor portfolio scoring, a quarterly rationalization cadence, and a formally constructed dependency graph. A CTO responsible for 15 applications may already know which three cause pain, which one nobody can explain, and which one finance depends on heavily.

For that estate, a focused scoping session can match the scale of the decision. Bring the owners together, identify the three or four disputed systems, and decide whether each should be retained, retired, or replatformed. Governance machinery added merely for formality contributes little when the relevant people can already hold and inspect the whole decision directly.

The figure of roughly 20 remains a heuristic because coupling and ownership ambiguity matter more than raw portfolio size. An estate of 25 tightly coupled applications sharing a database can require formal rationalization more than 60 loosely connected applications with clear ownership and business value. Legibility is the better test: when decision-makers can already see who owns what and why it matters, use the scoping session.

When rationalization is warranted, its endpoint also defines where modernization begins. The process selects what merits investment and produces decisions such as retained, removed, or consolidated; modernization then applies the appropriate engineering approach to systems selected for change. Keeping those stages separate prevents engineering effort from beginning before the portfolio has established whether an application deserves that effort.

The 6R vocabulary belongs on that modernization side of the boundary. Options such as rehost, refactor, rebuild, and “the rest” answer how an application should move once Migrate or Invest has been selected. A legacy system modernization guide can carry the decision into those implementation choices, while a CTO framework for how to rebuild legacy web applications can address the narrower question of when rebuilding is preferable to refactoring.

That order has a direct engineering consequence. A team that starts implementation first can spend a quarter replatforming an application that rationalization would have retired, or simplify an application whose portfolio outcome is already consolidation. “What Is Application Modernization?” covers the subsequent rehost, refactor, and rebuild choices, which become relevant after the retained estate has been decided.

A retire-or-replatform assessment can also reveal that rebuilding is the appropriate modernization path. At that point, engaging an experienced development partner before scoping the rebuild is one way to move the selected work into implementation with its portfolio justification already settled. Rationalization reaches its endpoint when the organization knows which systems deserve that investment and can hand those systems to modernization without reopening whether they should exist.

Key takeaways for decision-makers

  • Separate scoring from sequencing: Score applications across business criticality, run cost, change cost, technical risk, and blast radius to decide what deserves investment or retirement. Use those factors to establish portfolio priorities before modernization begins.
  • Validate owner assessments with production evidence: Application owners have valuable knowledge and incentives that can influence self-ratings. Portfolio teams can test those ratings against incident history, finance data, ticket cycle time, change-failure rates, paging activity, and actual usage.
  • Let dependencies determine retirement order: A strong retirement candidate may still support critical downstream systems. Dependency maps should govern execution by moving consumers first and retiring leaf nodes before heavily depended-on providers.
  • Reassess the portfolio as conditions change: Quarterly reviews can revisit change-failure rates, ticket volume, paging load, ownership, and dependencies. Material changes should trigger reassessment before an outdated classification becomes a production risk.
  • Match governance to portfolio complexity: Small, legible estates may need only a focused scoping session, while tightly coupled or poorly understood portfolios warrant formal scoring and dependency mapping. Once rationalization establishes what deserves investment, modernization teams can decide how to rehost, refactor, or rebuild it.

Alexander Procter

September 25, 2026

14 Min

Okoone experts
LET'S TALK!

A project in mind?
Schedule a 30-minute meeting with us.

Senior experts helping you move faster across product, engineering, cloud & AI.

Please enter a valid business email address.