Category: Agile Framework

  • ArchiMate  Is  Not  a  Diagram Contest

    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.

  • ADM and Agile Complement Each Other

    Marry the map and the sprint a live gaming platform shows how.
    A lot of people confuse ADM and Agile.

    Sometimes TOGAF practitioners ignore Agile as if a good architecture slide deck ships itself. Sometimes Agile warriors ignore TOGAF as if sprints alone will sort out migration, data ownership, and enterprise governance.

    Both camps lose.

    If you marry both you get something better standard, beautiful results not perfect, but repeatable. Architecture that names what to change and in what order. Delivery that proves each slice before the next. On a live gaming platform, that marriage is not academic. Players, money, and latency do not wait for your methodology debate.

    This article is ADM and Agile not vs. How they complemented each other when we moved from a monolith toward modular game engines, matchmaking and WebSockets, brokers, real-time query, and scale using the Architecture Development Method for the spine and Agile for the heartbeat.

    Two words people treat as enemies.

    ADM (TOGAF)Agile
    AnswersWhy change? Capabilities? Migration? Govern?What ships this sprint? Inspect and adapt?
    RhythmIterative architecture cycle (phases A–H)Iterative delivery (backlog → sprint → retro)
    Risk when aloneBeautiful target state, nothing in productionFast features, duplicate buses, no migration map
    TogetherADM sets boundaries and sequence; Agile lands increments

    One line:ADM is the map and the sequence. Agile is the engine. Gaming needs both.

    Why a gaming platform is a honest test.

    High-scale gaming and payments punish half-methods:

    Hot paths — live tables, matchmaking, wallets — cannot wait for a yearly architecture review

    Many squads— lobby, game, transactions, platform — need a shared map or they invent private truths

    Migration is real— monolith → modules → brokers → analytics — not a greenfield fantasy

    Change never stops— new abuse patterns, new playlists, new scale events

    If ADM only works on calm HR portals, it is not Enterprise Architecture. If Agile only works on a single greenfield app, it is not enterprise delivery. A live game platform is where the marriage shows its value.

    ADM phaseAgile practiceGaming example
    PreliminaryWorking agreements, ADRs, DoRMoney off hot path; one writer per table; door vs room
    Phase A — VisionEpic, product goalModular monolith — lobby, game, transactions independent
    Phases B–DSpikes, sprint zeroREST matchmaking → WebSocket play; RabbitMQ off money path
    Phase EPI planning, prioritized backlogKafka when analytics needs history; Spark build vs EMR buy
    Phase F — MigrationIncremental release, flagsStrangler off monolith — transactions module first
    Phase G — GovernanceRetro, ADRs, ARBHazelcast + Redis CAP choice recorded once
    Phase H — ChangeContinuous improvementFraud, RTQE consumers, fleet scale — cycle repeats

    Preliminary + team working agreements

    ADM:principles, scope, who owns architecture decisions.

    Agile: Definition of Ready, squad charters, architecture decision records in the backlog.

    Gaming example: principles we actually enforced — money off the gameplay hot path; one writer per live table; matchmaking as door, WebSocket as room; reuse enterprise events before shadow copies.

    Without this marriage, every squad optimizes locally. RabbitMQ in one place, Kafka in another, REST polls for the game loop and nobody owns the seam.

    Phase A (Vision) + epics

    ADM:business drivers, stakeholders, target state in plain language.

    Agile: product goal, epic, measurable outcomes per quarter.

    Gaming example:Modular monolith so lobby, game, and transactions scale and fail independently without losing live play.” Not “microservices because Netflix.”

    Phases B–D (Business, IS, Technology) + spikes and sprint zero

    ADM: capabilities, application boundaries, technology standards.

    Agile: architecture spikes, thin vertical slices, “sprint 0” for risky unknowns.

    Gaming examples:

    Business: separate gameplay from transactions capability — buy-in cannot block the tick

    Applications:REST matchmaking → assign table → WebSocket for live session.

    Technology:RabbitMQ for work routing on the hot path Kafka later for history and analytics ADM chose when Agile shipped which module first.

    Phase E (Opportunities) + PI / roadmap

    ADM: work packages, dependencies, build vs buy vs reuse.

    Agile: prioritized backlog, capacity, dependency ordering across squads.

    Gaming example: offline Spark segmentation ADM framed build vs EMR buy Agile time-boxed the 10-day build proof. Architecture named the tradeoff Agile proved the increment.

    Phase F (Migration) + incremental release

    ADM: transition architecture, coexistence, decommission rules.

    Agile: feature flags, dark launch, strangler slices, no big-bang fantasy.

    Gaming example: monolith → modular monolith module by moduletransactions off the game process first, then lobby paths, then scale events. Players still at tables while the map moves underneath.

    Phase G (Governance) + retro + ADRs

    ADM: compliance with principles, architecture board, change control.

    Agile: sprint retro, backlog refinement, lightweight Architecture Decision Records.

    Gaming example:Why Hazelcast for coordination and Redisfor leaderboards?logged once CAP tradeoff named so the next squad does not reopen the same fight.

    Phase H (Change management) + continuous delivery

    ADM: the cycle starts again when the business changes.

    Agile:continuous improvement, operational learning.

    Gaming example: fraud patterns, new real-time query consumers, region/zone fleet math new ADM iteration, new Agile quarters — same marriage.

    What the marriage fixed (and vs)

    Without the marriageWith ADM + Agile married
    TOGAF-only: 18-month target PDF; production still on monolithADM names split gameplay vs money; Agile ships transaction handoff first
    Agile-only: six microservices, three buses, no decommission planREST matchmaking + WebSocket room in sequenced increments
    Big-bang cutover weekend; players feel the painStrangler migration; live tables while map moves underneath
    Same architecture fight every squad, every yearADRs + principles — CAP, brokers, build vs buy — recorded once

    Without marriage — TOGAF-only smell.

    18-month target architecture PDF production still on the monolith squads ignore it.

    Without marriage Agile-only smell.

    Six microservices in six sprints three message buses no decommission plan matchmaking polls REST for the game loop.

    With marriage:

    ADM says split gameplay and money and sequence the brokers. Agile ships transaction handoff via RabbitMQ in sprint N, matchmaking REST + WebSocketin sprint N+1, Kafka for BI when the business case is proveneach increment demonstrable at a live table.

    Anti-patterns we said no to.

    ADM once a year, Agile ignores it — architecture becomes wallpaper

    Every sprint reinvents architecture — no standards, no reuse

    Phase F on a slide, cutover on a panic weekend — players feel it

    We’re Agile, we don’t need stakeholders — Risk, Payments, and Support still exist on gaming platforms

    We’re TOGAF, we don’t need sprints — latency and competitors do not wait

    Wrapping-Up

    A lot of people confuse ADM and Agile Some TOGAF practitioners ignore Agile. Some Agile warriors ignore TOGAF.

    Marry both.

    ADM — what to change, who cares, how to migrate, what to govern iteratively

    Agile — what ships this sprint, how we learn, how we improve — iteratively

    On a ive gaming platform, that marriage produced standard, beautiful results — not slide-deck perfection, but map plus motion modular engines, doors and rooms for clients, brokers where they fit, real-time paths that scale, decisions recorded so the next squad does not burn the same fuel.

    ADM is not the enemy of Agile. Agile is not the enemy of ADM. Confusion is the enemy. Marriage is the practice.