Tools & methods

What do you want to do right now?

Choose your task. Compare what the tools produce, then start where you can make progress.

Which capabilities and qualities does the shop need?

Clarify goals

Clarify what the shop must deliver and how well it should do so.

In the architecture process · station 1Requirements & quality goals
Function: place an order, from the customer's cart to order B-1042Function · place orderCustomerbuysBasketOrder linesOrderB-1042Trigger · processing · visible result
Example result · shop

Requirements

Functional requirement

Observable, testable capability

In the shopA customer places their cart as an order, and the shop assigns the order ID B-1042.

Steps
You need
Business flow, stakeholders and visible result
How to proceed
Describe the trigger, the business processing and the result users can observe, without prescribing technical solution details.
Explore in the Atlas
Quality tree with an illustrative response time and availability scenarioShop qualityResponse timeAvailability95% ≤ 800 msillustrativeOrderdespite failure
Example result · shop

Requirements

Quality tree & scenarios

Prioritised, testable quality goals

In the shopIllustrative: 95% of payment responses arrive within 800 ms at 20 requests per second.

Steps
You need
User impact, conditions and measurable expectations
How to proceed
Formulate quality scenarios with trigger, context, response and metric, and rank them by importance to the shop.
Explore in the Atlas

Where do terms and rules apply?

Shape boundaries

Shape business responsibilities and integration relationships to fit.

In the architecture process · station 2System boundaries & responsibilities
Bounded Contexts for order and invoice, each with its own meaning of amount and statusOrderB-1042Status: created …Amount: totalInvoiceR-882Status: open …Amount: receivablesame words, own meaning
Example result · shop

Domain

Bounded Context

Clear domain models with named boundaries

In the shopOrder and invoice both use “amount” and “status”, but mean different things and therefore get separate models.

Steps
You need
Domain terms, rules and participating teams
How to proceed
Collect terms and rules by domain, mark changes in meaning and draw an explicit model boundary there.
Explore in the Atlas
Context Map: the external payment provider sets the model, payment translates, order and inventory sit in one teamProvidersUpstream · externalShop · one teamPayment · ACLOrderInventorymodel comes from outside,the shop translates
Example result · shop

Domain

Context Map

Understandable dependencies between domain models

In the shopInventory, payment and order align within the team; the payment provider sets its own model, and the shop translates.

Steps
You need
Contexts, dependencies and integration contracts
How to proceed
Map contexts and their data flows, name suppliers and consumers, and choose a suitable translation strategy for each relationship.
Explore in the Atlas
EventStorming event sequence for an orderEventStorming · orderOrderplacedPaymentAuthorisedInventoryreserved
Example result · shop

Method in building block Domain-Driven Design

Event Storming

Shared process view with open questions

In the shopThe team arranges “order placed”, “payment authorised” and “inventory reserved” and clarifies when an order counts as confirmed.

Steps
You need
Domain experts, process question and known process events
How to proceed
Collect domain events on a timeline, add commands and rules, and clarify open meanings with participants.
Explore in the Atlas

Which option fits best, and why?

Decide

Compare design options and record the decision.

In the architecture process · station 3Options & trade-offs
Comparison of modular monolith and servicesShop structure · two optionsMonolithmodularone artefactlocal transactionServicesindividually deployableNetwork & operationsAutonomy versus operational effort
Example result · shop

Evolution

Trade-off analysis

Reasoned choice with visible consequences

In the shopModular monolith or separate services: the team weighs change autonomy against operational and network effort.

Steps
You need
Quality goals, constraints and design options
How to proceed
Compare options against prioritised goals, name trade-offs and record which disadvantages the team deliberately accepts.
Explore in the Atlas
ADR document with decision, status, rationale and consequenceADR · shop architectureStatus: acceptedDecisionModular monolithRationale · consequence
Example result · shop

Documentation

Architecture Decision Record

Traceable decision with consequences

In the shopThe ADR records that the shop remains a modular monolith and names the operational consequences.

Steps
You need
Context, options and relevant quality goals
How to proceed
Record the initial situation, considered options, decision and consequences, and link affected quality goals and open checkpoints.
Explore in the Atlas

What do the building blocks, flows and operation look like?

Show & record

Make the shop's structure, flow and operation visible, and document them.

In the architecture process · station 4Design structure & runtime
C4 system context with customer, shop and external payment providerSystem context · shopCustomerShop systemShopApplyProvidersPaymentexternal
Example result · shop

Documentation

C4 model

Aligned views of boundaries and components

In the shopShow customers, payment provider and shop as context, with web application, modular monolith and database as containers.

Steps
You need
Shop requirements and known technical components
How to proceed
Start with system context and containers, add components as needed, and keep each view focused and easy to understand.
Explore in the Atlas
Sequence diagram with order, payment and payment providerPayment P-731 · response pendingOrderPaymentProviders
Example result · shop

Documentation

Sequence diagram

Traceable workflow including critical alternatives

In the shopOrder, payment and provider clarify P-731; if a response is lost, the shop queries the payment status.

Steps
You need
Actors, messages and relevant alternative flows
How to proceed
Represent participants as lifelines, order messages in time and add failure paths such as timeouts or retries.
Explore in the Atlas
Deployment view with two shop instances, a managed database and an external payment providerShop · instance 1Shop · instance 2DatabasemanagedProvidersPaymentexternal
Example result · shop

Documentation

Deployment view

Visible runtime dependencies

In the shopThe shop application runs on two instances with a managed database; the payment provider remains external.

Steps
You need
Runtime nodes, connections and operational dependencies
How to proceed
Assign the application, database and external services to nodes, and mark shared dependencies as well as network paths.
Explore in the Atlas
arc42 overview with context, components and runtimeContextUser · paymentBuilding blocksModules · contractsRuntimeCheckout · failureOperationsSLO · restore
Example result · shop

Documentation

arc42 architecture documentation

Consistent architecture documentation for the team

In the shopThe shop documentation links the order-confirmation target with the payment flow, the ADR on module structure and the open restore risk.

Steps
You need
System context, components and key decisions
How to proceed
Document goals and constraints first, then context, components, runtime and operations, with links to relevant ADRs.
Explore in the Atlas

Does the architecture hold up, and where are the open risks?

Validate

Validate architecture assumptions early and repeatedly.

In the architecture process · station 5Assess quality & risks
Architecture review checklist with findings and ownersReview · checkoutQuality goal clarifiedFailure path tracedEvidence assigned
Example result · shop

Evolution

Architecture review

Concrete findings and agreed actions

In the shopThe team tracks order completion when a payment response is delayed, and reviews the status model, resumption and operational indicators.

Steps
You need
Change, quality goals and affected components
How to proceed
Invite relevant roles, trace a concrete scenario through the architecture and record findings with owners.
Explore in the Atlas
Architecture fitness function with rule and test resultFitness function · exampleRule: import through contractsCheck: build ruleResult: satisfied or violation
Example result · shop

Evolution

Architecture fitness function

Early feedback on architecture rules

In the shopAn automated test flags unauthorised database access between the order, shipping and invoice modules outside the module contracts.

Steps
You need
Architecture rule and automatically testable signals
How to proceed
Turn an important rule into a repeatable test, run it with changes and respond to deviations.
Explore in the Atlas
Threat model with browser, trust boundary and input validationThreat model · input pathBrowserexternalShop trust boundaryValidate inputValidate input · check access
Example result · shop

Security

Threat Modeling

Prioritised threats with countermeasures

In the shopOn an incoming shipping notification, the team asks whether a compromised partner could change the status of other orders.

Steps
You need
Assets, data flows and trust boundaries
How to proceed
Map critical data flows and trust boundaries, collect misuse scenarios and derive verifiable safeguards.
Explore in the Atlas
Risk register with risk and next reviewRiskValidationLost responseStatus checkRestore pendingRestore test
Example result · shop

Documentation

Architecture risk register

Prioritised risks with concrete next steps

In the shopThe restore with payment reconciliation has not yet been tested; the log names the owners and the evidence.

Steps
You need
Uncertainties, possible consequences and owners
How to proceed
Describe risk and impact, estimate likelihood and severity, and record owner, action and next review date.
Explore in the Atlas

How does the team detect and contain critical failures?

Protect

Plan reliability and recovery for the shop.

In the architecture process · station 7Guide implementation & operations
SLO for order confirmations within two seconds, with an illustrative error budgetSLO · order confirmationTarget: confirmation ≤ 2 sWindow: 30 days · illustrativeBudget usedRemainingExample bar · not a measurement
Example result · shop

Operations

SLO & error budget

Measurable reliability goal with an action rule

In the shopOrder confirmations should be visible within two seconds, illustratively at 99.0% or 99.5% over 30 days, with a response rule.

Steps
You need
User-relevant event, target value and time window
How to proceed
Define a good user event, choose target and measurement window, and agree how the team responds to consumed error budget.
Explore in the Atlas
Recovery from snapshot through restore to validationRecovery · databaseSnapshotBacked upRestoreIsolatedValidationfachlichMeasure data gap & recovery time
Example result · shop

Operations

Recovery and restore exercise

Evidenced recovery path with measurements

In the shopAfter damage to the order index, the team restores in isolation and reconciles the orders with the payment system.

Steps
You need
Failure scenario, backups and recovery objectives
How to proceed
Restore data in an isolated environment, check domain consistency, and measure recovery time and recoverable data state.
Explore in the Atlas

The right method depends on your question. You can switch between tasks and connect the results.

Explore all connections