ArchiMate Is Not a Diagram Contest

Model migration so every squad sees the same map — a live gaming platform example

ArchiMate gets dismissed the same way TOGAF sometimes does: too theoretical, too many boxes, nobody reads it.

That is fair — when ArchiMate is used as wallpaper.

It becomes valuable when you are in the middle of a migration and six squads are drawing six different pictures of the monolith we are leaving and “the platform we are building.” Lobby thinks matchmaking is already separate. Transactions thinks money moved last quarter. Platform thinks RabbitMQ is “temporary.” Product thinks the cutover is next sprint.

At that moment, ArchiMate is not ceremony. It is a shared language for baseline, target, gaps, and plateaus – the same story ADM Phase F asks for, but visible to engineers, product, and the architecture board.

This article shows how to model a real migration on a live gaming platform: monolith → modular services (lobby, game, transactions) with a message broker on the money path and strangler increments — not every ArchiMate element, only the ones that stop migration arguments.

Why migration is the right ArchiMate proving ground

Migrations fail in predictable ways:

Invisible dependencies — “we extracted transactions” but the monolith still writes wallet state

Fake target states — microservices on a slide, monolith in production

Big-bang fantasy — no plateaus, no coexistence rules

Squad-local truth — each team’s diagram stops at its repo boundary

ArchiMate does not fix those by itself. It fixes them when you model what exists, what must exist, what changes between plateaus, and who delivers each slice.

If ArchiMate only works on greenfield data-center refresh decks, it is not Enterprise Architecture. Strangler migration on a live game platform is the stress test.

ArchiMate in one sentence (before we draw anything)

ArchiMate is a standard notation for describing enterprise architecture across business, application, and technology — and for showing how you move from today to tomorrow without pretending tomorrow arrives in one weekend.

You do not need every viewpoint. You need the right viewpoint for the decision in the room.

ViewpointUse it when…
LayeredExplaining structure — what serves what
Implementation & MigrationPlanning strangler moves, plateaus, work packages
MotivationLinking business drivers to migration scope (optional but powerful in Phase A)

ADM tells you to plan migration (Phase F). ArchiMate shows what you are migrating in which order.

The example: baseline monolith on a gaming platform

Baseline (Plateau 0): one application component does too much.

ArchiMate elementExample on the platform
Business capabilityLive gameplay, Player monetization
Business processJoin table → play hand → settle wallet
Application componentMonolith Game Server
Application serviceSocket session, Table state, Wallet mutation (all in one deployable)
Data objectPlayer profile, Table state, Wallet ledger
Technology nodeSingle JVM / process fleet behind a load balancer
Artifactgame-server.jar (one binary, many responsibilities)

The pain in EA language: gameplay hot path and money path share process, deployment, and failure domain. A spike in lobby traffic or a stuck wallet call can drag down live tables.

This is not a drawing exercise. It is the baseline plateau every squad must agree on before “we already migrated” conversations start.

Target: separate capabilities into application components with clear serving relationships — clients and other apps call services, not “the server.”

Application componentOwnsApplication services (examples)
Lobby ServiceMatchmaking, presenceFind table, Seat player
Game ServiceLive session, table statePlay event, Broadcast state
Transaction ServiceWallets, buy-in, payoutAuthorize buy-in, Settle hand
Message Broker (infra)Async handoffPayment command queue

Client pattern (from the real journey):

REST (or HTTP API) to Lobby — door: find and join a table

WebSocket to Game — room live play

Broker between Game and Transactions — money off the gameplay hot path

ArchiMate relationships to model explicitly:

RelationshipMeaning in the migration
ServingLobby Service serves Find table to the mobile client
FlowGame events move between client and Game Service
TriggeringBuy-in requested triggers a payment command
AccessGame Service accesses table state; Transaction Service accesses ledger
RealizationGame Service realizes Live gameplay capability

The part people skip: plateaus and gaps

Migration is not binary. ArchiMate’s Implementation & Migration viewpoint exists because Plateau 1 is where production actually lives.

Plateau 0 — Monolith (baseline)

Everything in one component. Money and play in one failure domain.

Plateau 1 — Strangler: transactions extracted, monolith still plays

Work package: Extract transaction module; route wallet commands via broker.

What changesArchiMate modeling note
New Transaction Service component appearsTarget element in Plateau 1
Monolith loses wallet mutationGap: retire in-process wallet behavior
RabbitMQ (or similar) as Technology serviceNew Flow between Game and Transactions
Coexistence ruleMonolith still owns lobby + game; transactions own ledger writes

Gap (Plateau 0 → 1):

Duplicate wallet path — monolith code path must be decommissioned, not left “just in case”

Data ownership — one writer to ledger (record in model + ADR)

Operational owner ship — who runs the broker, queues, and DLQ

This is the increment ADM + Agile articles describe transactions module first, live tables keep running.

Plateau 2 — Lobby and game separated

Work package: Split lobby matchmaking from game session; REST door + WebSocket room.

GapWhy it matters
Session handoffLobby assigns table; Game owns socket room
Identity / session tokenModel Flow of “seat confirmed → connect to game shard”
Scale independenceLobby scales on browse traffic; game scales on seated players

Plateau 3 — Shard game fleet, containerize (optional further plateau)

Aligns with the 200K concurrent journey: stateless game engines, externalized state, autoscale – another plateau, not a surprise Phase F slide.

EA rule:Model every plateau you will actually run in production — not only baseline and dream target.

What to put on the diagram (and what to leave off)

Model these for migration

Application components you will deploy separately

Application services other teams call

Flows that cross team boundaries (especially money)

Plateaus with dates or release trains

Gaps with named work packages and owners

Principles as constraints (one writer per ledger, money off hot path)

Do not model these (yet)

Every class or microservice repo

Every MQ topic name

Full cloud networking on day one

A perfect enterprise map that updates never

ArchiMate should be just detailed enough that a squad can answer: Does my sprint fit the current plateau?

Migration roadmap (Archi view 4)

The implementation & Migration viewpoint is where ArchiMate earns its keep: Plateaus, Gaps, and Work Packages on one diagram — not a second poster that ignores today.

ElementIn this model
Plateau 0Monolith baseline
Gap P0→P1Extract transactions; one ledger writer
Work Package 1Broker + Transaction Service; retire in-process wallet
Plateau 1Monolith (lobby+game) + Transaction Service
Gap P1→P2REST lobby + WebSocket game handoff
Work Package 2Split Lobby and Game services
Plateau 2Lobby + Game + Transactions (target modular)

In Archi (or BiZZdesign, Sparx), attach deliverables, stakeholders, and ADR links to each work package. The notation is standard the discipline is yours.

ArchiMate × ADM × Agile (one line each)

MethodRole in migration
ADM Phase FNames migration planning as a first-class outcome
ArchiMateMakes baseline / target / plateaus / gaps visible and debatable
AgileDelivers one work package per increment with a demonstrable plateau

Without ArchiMate (or an equivalent shared model), Agile ships features; with it, Agile ships plateau transitions the board can recognize.
Anti-patterns ArchiMate should kill in migration reviews

Target-state-only diagram — pretty future, lying about today

Component per developer — boxes follow org chart, not behavior

Missing broker — money path drawn as synchronous REST because it is easier to draw

No gap — “we’ll switch over Friday” with no coexistence rules

Plateau without owner — work package on a slide, nobody on-call

ArchiMate as PDF export — model not connected to backlog or ADRs

Rewriting the whole model every sprint — model plateaus, refine incrementally

Migration modeling checklist (use in architecture reviews)

1. Is baseline agreed? One monolith box is not enough — name services, data writers, and hot paths.

2. Is target a plateau or a fantasy? Target without Plateau 1 is a poster.

3. What is the next work package? One strangler slice — who owns it?

4. What gap closes when it ships? Name behavior you stop doing in the old component.

5. Where does money flow? If it is not on the diagram, it is still in the monolith.

6. What is coexistence? Two paths may run briefly — model duration and decommission rule.

7. Which capabilities are realized where? Gameplay vs monetization separation is strategic — show it.

8. Does the squad’s sprint map to a plateau element? If not, why are we building it?

If you can not answer these from the model, you are not ready to migrate. You are ready to argue in stand-up.

Wrapping up

ArchiMate is not a diagram contest. It is how Enterprise Architecture makes migration legible: baseline monolith, target modular platform, plateaus in between, gaps that close with real work packages.

On a live gaming platform, that looked like:

Plateau 0 — socket monolith: play, lobby, money in one place

Plateau 1 — transactions strangler via broker; one writer to the ledger

Plateau 2 — REST lobby + WebSocket game; money still off the hot path

Later plateaus — shard, containerize, autoscale — same model, new gaps

Use ArchiMate to stop six squads from drawing six truths. Use ADM to justify why migration is phased. Use Agile to land each plateau while players are still at the table.

That is EA doing its job: map over slogans, plateaus over big-bang, shared model over private diagrams.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *