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.

13 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 LR
  sales["Sales<br/><i>quote, opportunity, discount</i>"]
  orders["Ordering<br/><i>order, line, fulfilment</i>"]
  billing["Billing<br/><i>invoice, credit note, dunning</i>"]
  ship["Shipping<br/><i>consignment, manifest</i>"]
  legacy["Legacy Mainframe<br/><i>account master</i>"]

  sales -->|"Customer / Supplier"| orders
  orders -->|"Customer / Supplier"| billing
  orders -->|"Published Language"| ship
  legacy -->|"Anti-Corruption Layer"| orders
  billing -.->|"Shared Kernel — party identity"| sales
Structural View

Bounded Context Map

The domain model's fault lines — which parts of the business have their own language, and what kind of relationship each pair of them has.

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
  crm["CRM"]
  oms["Order Mgmt"]
  erp["ERP"]
  wms["WMS"]
  bill["Billing<br/><i>mainframe</i>"]
  dw[("Warehouse")]
  ptnr["Partner"]

  crm -->|"I-01 · REST · on demand"| oms
  oms -->|"I-02 · SFTP CSV · nightly"| erp
  oms -->|"I-03 · MQ · near real time"| wms
  wms -->|"I-04 · REST · on demand"| oms
  erp -->|"I-05 · flat file · nightly"| bill
  bill -->|"I-06 · DB link · nightly"| dw
  oms -->|"I-07 · CDC · continuous"| dw
  ptnr -->|"I-08 · AS2 EDI · hourly"| oms
  oms -->|"I-09 · AS2 EDI · hourly"| ptnr
Structural View

Integration Landscape Diagram

Every interface between systems, with its mechanism, direction, frequency and owner — the artifact that tells you what a migration will actually break.

flowchart LR
  subgraph cust["Customer"]
    direction TB
    c1(["Submits claim"])
  end
  subgraph intake["Intake — automated"]
    direction TB
    a1["Validate policy"]
    a2{"Policy active<br/>and in cover?"}
    a3["Auto-assess<br/><i>rules + model</i>"]
    a4{"Confidence<br/>&ge; threshold?"}
  end
  subgraph handler["Claims Handler"]
    direction TB
    h1["Manual review"]
    h2{"Approve?"}
  end
  subgraph fin["Finance"]
    direction TB
    p1["Schedule payment"]
  end

  c1 --> a1 --> a2
  a2 -->|"no"| r1(["Reject — notify with reason"])
  a2 -->|"yes"| a3 --> a4
  a4 -->|"yes"| p1
  a4 -->|"no"| h1 --> h2
  h2 -->|"yes"| p1
  h2 -->|"no"| r2(["Decline — notify with appeal route"])
  p1 --> e1(["Paid"])
Behavioural View

BPMN Process Diagram

A business process as tasks in swim lanes with explicit decision points and handoffs, where crossing a lane boundary is the interesting event.

Business Processes Discovery
flowchart LR
  party["Party"]
  cust["Customer"]
  supp["Supplier"]
  prod["Product"]
  order["Order"]
  ship["Shipment"]
  inv["Invoice"]
  pay["Payment"]
  loc["Location"]

  cust -->|"is a"| party
  supp -->|"is a"| party
  cust -->|"places"| order
  order -->|"is for"| prod
  supp -->|"supplies"| prod
  order -->|"is fulfilled by"| ship
  ship -->|"is sent to"| loc
  order -->|"is billed on"| inv
  inv -->|"is settled by"| pay
Data View

Conceptual Data Model

The twelve or so things the business talks about and how they relate, with no attributes, no keys and no technology.

Data Architecture Discovery
flowchart TB
  subgraph d1["Domain: Sales"]
    direction TB
    p1["<b>customer-360</b><br/><i>daily · 99.5% freshness SLO<br/>owner: Sales Data</i>"]
    p2["<b>pipeline-facts</b><br/><i>hourly</i>"]
  end
  subgraph d2["Domain: Fulfilment"]
    direction TB
    p3["<b>order-events</b><br/><i>streaming · &lt;60s<br/>owner: Fulfilment Eng</i>"]
    p4["<b>delivery-performance</b><br/><i>daily</i>"]
  end
  subgraph d3["Domain: Finance"]
    direction TB
    p5["<b>revenue-recognised</b><br/><i>daily · certified<br/>owner: Finance Systems</i>"]
  end

  subgraph plat["Self-Serve Platform"]
    direction LR
    s1["storage + compute"] --- s2["catalog + lineage"] --- s3["access control"] --- s4["quality + observability"]
  end

  gov["Federated Governance<br/><i>global: identity keys · classification · retention</i>"]

  p3 -->|"consumed by"| p1
  p1 -->|"consumed by"| p5
  p3 -->|"consumed by"| p5
  plat --- d1
  plat --- d2
  plat --- d3
  gov -.-> d1
  gov -.-> d2
  gov -.-> d3
Data View

Data Mesh Domain Map

Which domain owns which data product, what each one guarantees, and the shared platform underneath that makes publishing one cheap.

Data Mesh Design
flowchart LR
  u1(["Employee<br/><i>managed laptop</i>"])
  u2(["Contractor<br/><i>unmanaged device</i>"])
  u3["Workload<br/><i>service identity</i>"]

  subgraph pep["Policy Enforcement"]
    direction TB
    px["Proxy / Gateway<br/><i>terminates every session</i>"]
  end

  subgraph pdp["Policy Decision"]
    direction TB
    eng{"Policy engine"}
    sig1["Identity + MFA"]
    sig2["Device posture"]
    sig3["Risk + location"]
    sig4["Resource sensitivity"]
    sig1 --> eng
    sig2 --> eng
    sig3 --> eng
    sig4 --> eng
  end

  subgraph res["Resources"]
    direction TB
    r1["Internal app"]
    r2[("Database")]
    r3["SaaS"]
  end

  u1 --> px
  u2 --> px
  u3 --> px
  px <-->|"authorise this request"| eng
  px -->|"allow · scoped · time-bound"| r1
  px -->|"allow · read-only"| r2
  px -->|"deny · posture fail"| r3
  log[("Decision log<br/><i>every allow and deny</i>")]
  eng --> log
Security View

Zero Trust Architecture Diagram

Access decided per request from identity, device and context rather than from network position, with the policy decision point drawn explicitly.

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.