Two colleagues review printed documents together at a table, a whiteboard with sketches behind them
Every application gets a decision, made from evidence rather than a survey.

Application rationalization is deciding, for each application a company runs, whether to keep it, invest in it, migrate it, consolidate it into another or retire it. Each decision comes from an inventory that records the application's cost, usage, business value, technical health and risk, such as the date its vendor stops supporting it.

Below: why the technical-health column is where rationalization goes wrong, the decisions and common models, an inventory template, the process step by step, and what tools do.

Key takeaways
  • Application rationalization is a decision for each application: keep it, invest in it, migrate it, consolidate it or retire it.
  • Each decision rests on an inventory: cost, usage, business value, technical health, and risk such as a vendor's support end date.
  • The technical-health score is usually a guess from a survey of owners. Reading the code and its dependencies turns it into evidence.
  • Retiring an application safely depends on knowing what else reads from it, which an owner survey rarely shows.
01

What is application rationalization?

It's a portfolio exercise: list every application, score each one, and make a decision per application. Application portfolio rationalization and app rationalization mean the same thing, and in the UK it's spelled application rationalisation. The usual triggers are an acquisition that brings duplicate systems, a budget review, a cloud move, or a cluster of support end dates.

What is application portfolio management, then? Application portfolio management (APM) is the ongoing practice of keeping that inventory current and scored. Rationalization is the decision made from it. ServiceNow's documentation for application rationalization, in its Enterprise Architecture product (formerly Application Portfolio Management), puts the job plainly: "Rationalize all business applications in a category and decide whether to invest, sustain, migrate, or retire an application."

02

Why rationalization decisions go wrong: technical health is a guess

Most inventories take cost, usage and business value from records. Technical health usually comes from a survey: the owner rates the application from 1 to 5, or picks good, fair or poor. Owners rate what they see: outages, complaints, slow screens. They can't see the code.

That's where the expensive mistakes start. An application scored "good" can keep its business rules in undocumented stored procedures, run on a framework past its support date and have no tests, so a migration planned as a quick move becomes a rewrite. An application scored "poor" and marked for retirement can turn out to feed a nightly job, a regulatory report or another system's database. Nobody owns the connection, so nobody listed it.

Reading the code and the dependencies turns the score into evidence. For each application facing a real decision, record:

  • Languages, frameworks and runtime versions, against their vendors' support dates
  • Where the business rules live: code, stored procedures, configuration tables, reports
  • Inbound and outbound connections: APIs, file drops, shared databases, batch jobs
  • Whether tests exist, and whether anyone can build and deploy it today
  • Security gaps, such as hard-coded credentials or unpatched components
  • Who understands it, and whether that's one person

Our legacy system assessment guide covers how to read an old system this way, and these technical debt examples show what the findings tend to look like.

03

Keep, invest, migrate, consolidate, retire: the decisions

DecisionWhat it meansTypical evidence
KeepRun it as is, with minimal changeAdequate value, stable, on a supported platform
InvestSpend to improve or extend itHigh value, sound code, growing use
MigrateMove it to a new platform, or rebuild itHigh value, but poor technical health or a support end date coming
ConsolidateFold it into another application doing the same jobTwo or more applications serving one business capability
RetireSwitch it off and archive its dataLow use or low value, with every dependency mapped

A common four-way model, TIME (Tolerate, Invest, Migrate, Eliminate), covers the same ground with different labels. Use the labels your organization already knows, as long as each one has a written meaning.

For the migrate decision, AWS Prescriptive Guidance lists "seven migration strategies for moving applications to the cloud, known as the 7 Rs": retire, retain, rehost, relocate, repurchase, replatform, and refactor or re-architect (AWS). AWS's criteria for retiring include a usage test worth borrowing: "There has been no inbound connection to the application for the last 90 days." For moving as is versus changing the code, see lift and shift vs refactor.

04

Application portfolio examples: an inventory template

Copy the columns. The rows are illustrative, not from a real portfolio.

ApplicationBusiness valueUsageAnnual costTechnical health (evidence)RiskDependenciesDecision
Loan servicing app (.NET Framework on SQL Server 2016)High: every payment posts through itDaily, all servicing staffLicense, two servers, part of one developer's timeRules in hundreds of stored procedures; no tests; two batch jobs write to its tablesSQL Server 2016 extended support ended 14 July 2026 (Microsoft)Payment file import, general ledger exportMigrate in stages
Two document tools, one from an acquisitionMediumEach used by one divisionTwo licenses for one jobBoth vendor-supported; one has a custom approval add-onLowThe CRM calls the approval add-onConsolidate onto one
Branch reporting toolLowNo logins in 90 daysHosting and a support contractReads a nightly copy of the servicing databaseRuntime past vendor supportA finance spreadsheet links to its outputRetire, after moving the spreadsheet

The third row is the trap: no logins looks like an easy retirement, but the spreadsheet link only shows up in the dependencies.

05

The application rationalization process, step by step

  1. Set the scope and the question. Which business unit, what is driving the review (cost, a cloud move, an acquisition, support dates), and when a decision is due.
  2. Build the inventory. Start from the CMDB, license and invoice records, single sign-on logs and network lists. Expect applications nobody listed.
  3. Name an owner for each application. No owner is a finding in itself.
  4. Score business value with the owners. Which capability it supports, and what happens if it stops.
  5. Measure usage from data, not opinion. Logins, transactions and inbound connections.
  6. Assess technical health from the code and dependencies for every application where the decision is close or expensive.
  7. Record risk. Support end dates, security gaps and single points of knowledge; see the risks of running end-of-life software.
  8. Decide, then sequence. Retirements wait until whatever depends on them has moved. Migrations follow the modernization approach that fits each one.
  9. Review yearly. Without a review, a portfolio drifts back.
06

Application rationalization tools

Tools hold the inventory and the scores. They don't read the code for you.

Kind of toolGood forCan't do
APM modules, such as ServiceNow'sHolding the inventory, scores and planned decisionsSay what an application's stored procedures do
CMDB and discoveryFinding servers, installed software and network connectionsSay which connections carry business rules
Single sign-on and log dataReal usage: who logs in, and how oftenShow batch jobs and file drops that have no users
Code and dependency analysisEvidence for technical health: versions, rules, integrationsScore business value

ServiceNow's documentation lists what its rationalization workspace does, including "Analyze business applications based on multiple scores" and "Set the planned disposition of a business application." The scores are only as good as the evidence behind them.

07

Evidence for the technical-health column

When one application carries a big decision, a survey score isn't enough. The 30-day assessment is fixed in scope, at a price agreed before we start. Over 30 days we read the codebase and the architecture around it, map how the system fits together, find the hidden architectural debt, and flag security and compliance gaps. For a rationalization, that fills the technical-health column with entries you can check: versions and support dates, where the rules live, what connects to what, and what a migration or retirement would break.

The report says in plain language what is broken and what it would take to fix it. Your own team can act on it, or we do the work as a separate project with its own scope and price. The report stands on its own.

Ask us whether it's worth assessing. Name the application and the decision it faces. If a narrower check would settle it, such as tracing what reads from one database, we'll say so.