skip to content

Roadmapping & Transition

Gap analysis from the current landscape to the target, sequenced into transition architectures that each deliver value on their own. You will learn to build a dependency-driven roadmap and to communicate a multi-year transformation to people who fund it.

part ofSoftware design & architectureoverview, primer and where to startread it →
on this pageshow

questions

5

In enterprise architecture planning, what is a gap analysis, and which two artifacts does it compare to produce a list of work packages?

level: juniorimportance: must knowfreq 65%

answer

  1. baseline vs target
  2. four layers: business/data/app/tech
  3. gap matrix: eliminated/retained/changed/new
  4. gaps become work packages
  5. TOGAF ADM Phase B-D then E

basics

~10 s

Gap analysis compares what you have now (baseline architecture) with what you want (target architecture) to find missing, changed, or removed pieces — those differences become the work items on the roadmap.

solid answer

~50 s

Gap analysis is a structured comparison between the baseline (current-state) architecture and the target (future-state) architecture across business, data, application, and technology layers. For each layer you list the components that exist in the baseline, exist in the target, and any that are eliminated, retained, or newly required, then bucket differences into 'eliminated', 'retained as-is', 'changed', and 'new'. The output feeds a work-packages list: each gap becomes one or more discrete pieces of work with a rough size, owner, and dependency set. Frameworks like TOGAF formalize this in ADM Phases B–D (business, data/application, technology gap analysis) before Phase E turns the packages into an implementation roadmap. Done well, gap analysis prevents 'big bang' surprises by surfacing hidden dependencies (e.g., a target capability needing a data migration first) early, while producing a shared, layer-by-layer artifact stakeholders can review.

go deeper

for a junior

Can describe gap analysis as 'comparing current vs future state' and name a couple of example gaps; not expected to know the four-layer breakdown or how gaps convert into sized work packages.

for a middle

Can walk through comparing baseline and target layer by layer and knows gaps must become work packages with rough sizing; may not yet know how to keep the baseline accurate or the refresh cadence.

for a senior

Runs gap analysis across all four layers, catches when the baseline is stale before trusting it, and converts gaps into dependency-aware work packages that feed roadmap sequencing.

for a principal

Sets the gap-analysis cadence and ownership model across an enterprise portfolio, recognizes when a 'gap' is actually an organizational/process problem the architecture can't fix alone, and defends why certain gaps are deliberately left open as accepted risk rather than resourced.

## Baseline against target Gap analysis in enterprise architecture is a structured, layer-by-layer comparison between the **baseline architecture** (a description of what is actually running today) and the **target architecture** (the future-state vision the organization is working toward). Frameworks such as **TOGAF** split both descriptions into four layers, because a change at one layer (say, replacing a database engine) has knock-on implications at others (data migration, application connection strings, operational runbooks): | Layer | What it holds | |---|---| | Business | processes, organization, governance | | Data | entities, information flows, ownership | | Application | systems, services, integrations | | Technology | infrastructure, platforms, networks | ## Building blocks and the four buckets For each layer, the architect inventories the **architecture building blocks (ABBs)** — named, reusable components such as 'customer master data store' or 'payment authorization service' — present in the baseline and target descriptions, then classifies each block into one of four buckets: - **Retained** unchanged. - **Eliminated** — present in baseline, absent from target. - **New** — absent from baseline, present in target. - **Changed** — present in both but materially different, e.g., re-platformed or re-scoped. The result is a **gap matrix**, one row per building block, that becomes the raw input to the next step: each identified gap is translated into one or more **work packages** — discrete units of deliverable work with a description, rough size, dependency list, and eventually an owning team — which feed the roadmap-building phase. ## Why the discipline exists The reason this discipline exists rather than architects simply sketching an end-state and handing it to delivery teams is that 'vision to delivery' is where most transformation programs actually fail. A target architecture alone tells you where you're going but not what specifically has to change to get there, in what order, or how big that change is. Gap analysis forces that translation to happen explicitly and early, before budget and delivery commitments are made, and it does so in a form (a structured matrix, not prose) that both business and technical stakeholders can review and challenge. It also surfaces second-order gaps that a purely top-down vision exercise misses — for instance, a target application-layer change often implies a data-layer gap (a migration or a change-data-capture pipeline) that nobody thought to ask about until the layers are compared side by side. ## The central trade-off The central trade-off is **thoroughness versus speed and usefulness**. A full, four-layer gap analysis across a large enterprise portfolio can take months to produce and, done badly, becomes a heavyweight document that delivery teams never open — accurate in principle but disconnected from how the work actually gets sequenced. Go too coarse, and gaps are stated at a level ('modernize the payments platform') too vague to size or assign, silently pushing the real analysis downstream into delivery, where it surfaces as mid-sprint surprises instead of pre-commitment risk. Granularity has a similar tension: - **Very fine-grained gaps** are easy to size individually but hard to sequence and communicate. - **Coarse-grained gaps** are easy to communicate but hide sub-dependencies that blow past estimates. ## Failure modes in production programs In production programs, gap analysis fails in a few recognizable ways. 1. The most common is a **stale or inaccurate baseline** — nobody has kept the current-state inventory up to date, shadow-IT systems aren't captured, and the analysis ends up comparing the target to a fiction, so 'eliminated' systems turn out to still be carrying live traffic when decommission time comes. 2. A second is a **frozen target that itself goes stale** — a three-year architecture vision written once and never revisited means every subsequent gap analysis measures progress against an already-obsolete future. 3. A third is **orphaned gaps**: differences are identified and documented but never converted into resourced, owned work packages, so the gap analysis becomes shelfware that satisfies a governance checkpoint without changing what delivery teams actually build. 4. A fourth, more subtle failure is **treating every gap as a technology problem** when some are actually organizational or process gaps that no application or infrastructure change alone will close. ## A worked example Consider a retail bank migrating its core ledger off a mainframe COBOL/DB2 system toward an event-driven, cloud-native platform. - The **business-layer** gap analysis might show the target's real-time balance-update capability doesn't exist yet, so the batch end-of-day settlement process is deliberately retained as an interim capability. - The **data-layer** analysis surfaces that customer account data lives in a hierarchical DB2 schema with no equivalent in the target's relational event-sourced model, producing a work package to build a change-data-capture pipeline as a bridge rather than a one-shot cutover. - The **application-layer** analysis shows the monolithic COBOL transaction processor being eliminated in stages, replaced domain-by-domain (accounts, then payments, then cards). - The **technology-layer** analysis tracks mainframe capacity declining in step with cloud footprint growing. Each becomes a sized, owned work package with explicit dependencies — exactly the workflow that feeds the next phase of roadmap sequencing.

  • What happens if the baseline architecture documentation is inaccurate or missing?
    The gap analysis compares the target against a fiction, so work packages under- or over-estimate scope — teams typically discover the real gaps mid-delivery when actual systems don't match what was documented, causing rework and schedule slips. This is why architects usually run a lightweight discovery pass (interviews, config/CMDB scans, dependency mapping) before trusting the baseline.
  • Should gap analysis be a one-time exercise or ongoing?
    It should be revisited at each roadmap checkpoint because both the baseline and target shift — new systems get built and the target vision gets revised by strategy changes. An un-refreshed gap analysis drifts from reality and silently invalidates the roadmap.
  • How do you size a work package derived from a gap?
    Typically via t-shirt sizing or relative estimation informed by similar past migrations, cross-checked with the teams who will execute it, since architects alone tend to underestimate integration and data-migration effort.

Like a home renovation: you survey the existing house (baseline), sketch the dream layout (target), then walk room-by-room noting what stays, what's demolished, and what's new-build — that punch list is the gap analysis.

saying these in an interview costs you the question

  • Treats gap analysis as a one-off document that's never revisited
  • Only looks at the application layer and ignores data/business/technology layers
  • Can't explain how a listed gap becomes an actionable work package
  • Assumes the baseline architecture doc is automatically accurate
  • Produces gaps with no owner or dependency information

context

open as a page

Why do enterprise architects usually insert one or more intermediate 'transition architectures' between the baseline and target states instead of migrating directly, and what determines how many are needed?

level: middleimportance: must knowfreq 72%

basics

~20 s

Jumping straight to the end-state is risky because it's slow, all-or-nothing, and hard to fund — transition architectures are safe stopping points along the way, and you add more of them the longer or riskier the journey is.

open as a page

When building a multi-year architecture roadmap with several parallel workstreams (e.g., a new identity platform, a data-warehouse migration, and an API gateway rollout), how do you determine the sequencing order, and what technique makes the dependencies between work packages explicit?

level: seniorimportance: must knowfreq 68%

basics

~20 s

You map out what each piece of work needs to be finished before it can start — like the identity platform needing to exist before other systems can use it — draw that as a dependency graph, and let the graph, not people's preferences, decide the order.

open as a page

A CTO asks for 'the architecture roadmap' and a squad tech lead asks for the same thing — should you hand them the identical artifact? What typically differs when you tailor a multi-year transformation roadmap to different audiences?

level: middleimportance: should knowfreq 55%

basics

~20 s

No — executives need a simple picture of business outcomes and timing, while delivery teams need the technical detail of what to build and in what order. Same underlying plan, different level of zoom and different language.

open as a page

During a multi-year architecture transition, a team keeps a legacy monolith and a new microservices platform running in parallel for over a year, with dual-write synchronization keeping both in sync. What risks does this long-lived transition state introduce, and how would you mitigate them?

level: principalimportance: should knowfreq 45%

basics

~20 s

Running two systems in parallel for a long time means double the cost, double the bugs, and data can quietly drift out of sync between them — you mitigate by keeping the overlap as short as possible and constantly verifying the two sides agree.

open as a page