Deliverables

The curriculum covers what an architect should know. This covers what an architect actually hands over: 55 artifacts, each with a worked example, a note on when it is worth producing, who reads it, and the ways it usually goes wrong. Filter by the artifact's type, the kind of engagement that calls for it, the stack or industry it is drawn against, or the audience it is written for.

Identify the deliverable → 42 diagrams, shown one at a time with the answer withheld. Nothing to submit.

12 of 55 deliverables shown.

flowchart TB
  subgraph sell["Sell"]
    direction LR
    s1["CRM<br/><i>SaaS · Sales</i>"]
    s2["Quoting<br/><i>bespoke · Sales</i>"]
    s3["Pricing A<br/><i>legacy · Sales</i>"]
    s4["Pricing B<br/><i>legacy · Regional</i>"]
  end
  subgraph fulfil["Fulfil"]
    direction LR
    f1["Order Mgmt<br/><i>bespoke · Ops</i>"]
    f2["WMS<br/><i>COTS · Ops</i>"]
    f3["Carrier Portal<br/><i>SaaS · Ops</i>"]
  end
  subgraph support["Support"]
    direction LR
    b1["ERP<br/><i>COTS · Finance</i>"]
    b2["Billing<br/><i>mainframe · Finance</i>"]
    b3["HRIS<br/><i>SaaS · HR</i>"]
    b4["Expenses<br/><i>SaaS · unowned</i>"]
  end
  s3 -.->|"same capability"| s4
Structural View

Application Landscape Diagram

Every application in the estate placed against the business areas it serves, so duplication and orphans become visible.

flowchart TB
  subgraph core["Customer-Facing"]
    direction LR
    c1["Customer<br/>Management"]
    c2["Product &<br/>Catalogue"]
    c3["Order<br/>Capture"]
    c4["Fulfilment"]
  end
  subgraph enable["Enabling"]
    direction LR
    e1["Pricing &<br/>Promotion"]
    e2["Inventory<br/>Management"]
    e3["Payments &<br/>Settlement"]
    e4["Returns &<br/>Claims"]
  end
  subgraph support["Supporting"]
    direction LR
    s1["Finance &<br/>Accounting"]
    s2["Human<br/>Resources"]
    s3["Procurement"]
    s4["Risk &<br/>Compliance"]
  end
Structural View

Business Capability Map

What the business is able to do, arranged as a stable nested hierarchy of abilities with no processes, systems or org units on it.

Capability Mapping Discovery
flowchart LR
  a["Idea accepted<br/><i>work 2d</i>"]
  w1(["wait 9d<br/>backlog"])
  b["Refinement<br/><i>work 1d</i>"]
  w2(["wait 4d<br/>awaiting design"])
  c["Build<br/><i>work 5d</i>"]
  w3(["wait 3d<br/>awaiting review"])
  d["Code review<br/><i>work 0.5d</i>"]
  w4(["wait 6d<br/>awaiting test env"])
  e["Test<br/><i>work 2d</i>"]
  w5(["wait 11d<br/>awaiting release window"])
  f["Release<br/><i>work 0.5d</i>"]

  a --> w1 --> b --> w2 --> c --> w3 --> d --> w4 --> e --> w5 --> f
  f --> tot["Work 11d &middot; Wait 33d<br/>Lead time 44d &middot; Flow efficiency 25%"]
Behavioural View

Value Stream Map

Every step from request to delivery with its work time and its wait time, exposing that most of the elapsed time is queueing.

Flow Metrics Discovery
flowchart LR
  subgraph e1["Ephemeral / PR"]
    direction TB
    a1["scaled to 1<br/>mocked externals<br/>synthetic data<br/><i>proves: it builds and unit-passes</i><br/>auto-destroy 24h"]
  end
  subgraph e2["Dev"]
    direction TB
    a2["shared<br/>real internal deps<br/>synthetic data<br/><i>proves: integration wiring</i><br/>anyone deploys"]
  end
  subgraph e3["Staging"]
    direction TB
    a3["prod-shaped topology<br/>real deps · sandbox externals<br/>masked prod-like data<br/><i>proves: contracts + performance</i><br/>pipeline only"]
  end
  subgraph e4["Production"]
    direction TB
    a4["full scale · multi-AZ<br/>real data<br/><i>proves: nothing — it serves</i><br/>pipeline + gate"]
  end
  e1 --> e2 --> e3 --> e4
  note["Same artifact promoted throughout.<br/>Config differs; the image digest does not."]
Deployment & Infrastructure View

Environment Topology

Which environments exist, what each one proves, what data it holds and who may deploy to it.

gantt
  title Target state — 18 months
  dateFormat YYYY-MM-DD
  axisFormat %b %y

  section Foundation
  Landing zone and connectivity      :done,   f1, 2026-01-01, 60d
  Identity federation                :done,   f2, after f1, 45d
  Observability baseline             :active, f3, after f1, 75d

  section Decouple
  Strangler facade at edge           :active, d1, 2026-03-15, 90d
  Extract order domain               :        d2, after d1, 120d
  Extract pricing domain             :        d3, after d2, 90d
  Retire shared order database       :crit,   d4, after d3, 60d

  section Data
  Ingest to raw zone                 :        a1, 2026-04-01, 75d
  Conformed customer entity          :        a2, after a1, 90d
  Retire nightly extract jobs        :        a3, after a2, 45d

  section Resilience
  Multi-zone for tier 0              :        r1, 2026-06-01, 60d
  Automated failover rehearsal       :        r2, after r1, 45d
  Second region for tier 0           :crit,   r3, after r2, 90d
Planning Artifact

Architecture Roadmap

The sequence of architectural change over time, grouped by theme, with dependencies visible and each bar tied to an outcome rather than a technology.

flowchart LR
  subgraph w0["Wave 0 — Foundation"]
    direction TB
    f1["Landing zone"]
    f2["Connectivity + DNS"]
    f3["Identity federation"]
    f4["Observability + backup"]
  end

  subgraph w1["Wave 1 — Prove it (6 apps)"]
    direction TB
    a1["Internal wiki<br/><i>rehost</i>"]
    a2["Reporting portal<br/><i>rehost</i>"]
    a3["Batch scheduler<br/><i>replatform</i>"]
  end

  subgraph w2["Wave 2 — Bulk (34 apps)"]
    direction TB
    b1["Departmental apps<br/><i>rehost ×26</i>"]
    b2["Shared services<br/><i>replatform ×8</i>"]
  end

  subgraph w3["Wave 3 — Hard cases (9 apps)"]
    direction TB
    c1["Order management<br/><i>refactor</i>"]
    c2["Data warehouse<br/><i>replatform</i>"]
    c3["Partner gateway<br/><i>refactor</i>"]
  end

  subgraph w4["Wave 4 — Exit"]
    direction TB
    d1["Mainframe interfaces<br/><i>replace</i>"]
    d2["Data centre exit<br/><i>contract ends Q3</i>"]
  end

  w0 -->|"platform accepted<br/>by security + ops"| w1
  w1 -->|"runbook proven<br/>rollback rehearsed"| w2
  w2 -->|"shared services live<br/>latency measured"| w3
  w3 -->|"last dependency<br/>severed"| w4
Planning Artifact

Migration Wave Plan

Which applications move in which batch, in what order, and what the dependency between batches actually is.

flowchart TB
  subgraph l1["Capabilities delivered"]
    direction LR
    c1["Product<br/>engineering"] --- c2["Data &<br/>analytics"] --- c3["Platform &<br/>infrastructure"] --- c4["Security &<br/>risk"]
  end
  subgraph l2["Organisation"]
    direction LR
    o1["Stream-aligned teams<br/><i>×9 · own build and run</i>"] --- o2["Platform team<br/><i>×1 · paved road</i>"] --- o3["Enabling team<br/><i>×1 · coaching</i>"] --- o4["Architecture chapter<br/><i>federated</i>"]
  end
  subgraph l3["Ways of working"]
    direction LR
    p1["Product-funded<br/><i>not project</i>"] --- p2["You build it<br/>you run it"] --- p3["Continuous<br/>delivery"] --- p4["Design authority<br/><i>advisory + gates</i>"]
  end
  subgraph l4["Governance"]
    direction LR
    g1["ARB<br/><i>off-radar only</i>"] --- g2["Tech radar<br/><i>quarterly</i>"] --- g3["Automated<br/>compliance"] --- g4["Exception<br/>register"]
  end
  subgraph l5["People"]
    direction LR
    s1["Skills gaps<br/><i>SRE ×6 · data eng ×4</i>"] --- s2["Sourcing<br/><i>hire 6 · reskill 4</i>"] --- s3["Career paths<br/><i>IC track added</i>"]
  end
  l1 --> l2 --> l3 --> l4 --> l5
Planning Artifact

Target Operating Model

How the organisation will be arranged to run the new architecture — capabilities, teams, processes, governance and skills, not just the systems.

Operating Models Discovery
quadrantChart
  title Business value against technical health
  x-axis "Poor technical health" --> "Good technical health"
  y-axis "Low business value" --> "High business value"
  quadrant-1 Invest
  quadrant-2 Migrate or re-engineer
  quadrant-3 Eliminate
  quadrant-4 Tolerate
  "Order management": [0.28, 0.92]
  "Payment gateway": [0.81, 0.95]
  "Customer portal": [0.74, 0.78]
  "Pricing engine": [0.22, 0.84]
  "Mainframe billing": [0.14, 0.88]
  "Legacy CRM": [0.19, 0.34]
  "Reporting portal": [0.31, 0.26]
  "Expenses tool": [0.68, 0.22]
  "Intranet wiki": [0.72, 0.18]
  "Partner gateway": [0.44, 0.66]
Analysis Artifact

Application Portfolio Heat Map

Every application placed on business value against technical health, so that invest, tolerate, migrate and eliminate become positions rather than opinions.

quadrantChart
  title Platform technologies
  x-axis "Retire" --> "Adopt"
  y-axis "Low usage" --> "High usage"
  quadrant-1 "Adopt — default choice"
  quadrant-2 "Hold — in use, do not extend"
  quadrant-3 "Retire — plan removal"
  quadrant-4 "Trial / Assess — bounded use"
  "Kubernetes (managed)": [0.92, 0.88]
  "PostgreSQL": [0.95, 0.93]
  "Kafka (managed)": [0.86, 0.72]
  "Terraform": [0.90, 0.80]
  "OpenTelemetry": [0.78, 0.55]
  "Service mesh": [0.55, 0.30]
  "Self-managed Elasticsearch": [0.18, 0.62]
  "Oracle DB": [0.12, 0.70]
  "Jenkins": [0.20, 0.45]
  "Nomad": [0.60, 0.08]
  "DuckDB (analytics)": [0.62, 0.12]
Analysis Artifact

Technology Radar

What the organisation has decided to adopt, trial, assess or retire — a decision record about technology choice, not a fashion report.