SADDesignSolution ArchitectureEnterprise

Solution Architecture Design (SAD) Template

A comprehensive template for documenting end-to-end solution designs: stakeholders and quality goals, requirements and decisions, context, components and runtime behaviour, data design, security, deployment, risks and a glossary.

Shaped by the structure of arc42 (Gernot Starke and Peter Hruschka, CC BY-SA 4.0) and the stakeholder-and-concern model of ISO/IEC/IEEE 42010. The wording is this site's own and no text is copied from either, so neither licence applies to it; neither project has reviewed or endorsed this template.

If you know arc42, this is where its twelve sections live here:

arc42 sectionIn this template
1 Introduction and Goals1. Executive Summary; 1.4 Stakeholders and Concerns; 2.2 Non-Functional Requirements (NFRs)
2 Constraints2.3 Scope Boundaries
3 Context and Scope2.3 Scope Boundaries; 4.3 System Context & External Neighbours
4 Solution Strategy3. Architecture Decisions (ADR Linkage)
5 Building Block View4.1 Logical Architecture Diagram; 4.2 Component Catalog
6 Runtime View4.4 Runtime View
7 Deployment View8.1 Target Environment Specifications; 8.2 Disaster Recovery (DR) & Business Continuity
8 Crosscutting Concepts9. Cross-cutting Concerns; 6.3 Data Lifecycle & Security; 7. Security & Compliance Controls
9 Architecture Decisions3. Architecture Decisions (ADR Linkage)
10 Quality Requirements2.2 Non-Functional Requirements (NFRs)
11 Risks and Technical Debt10. Risks, Assumptions & Technical Debt; 7.3 Threat Model & Mitigation
12 Glossary11. Glossary

Sections this template has that arc42 does not: document control and approvals, target-state outcomes with measures, integration patterns, interface contracts and a data architecture.

Last Updated: October 5, 2026

The example is the design of Appointment Booking (sample), a fictional system documented with the templates on this site. See the whole sample project

template: solution-architecture-design
system: "{system or solution name}"
project: "{project or programme name}"
lead-architect: "{name / role}"
version: "{1.0}"
status: "{draft | under review | approved}"
last-updated: "{YYYY-MM-DD}"

Solution Architecture Design (SAD): {system or solution name}

Document Control

Version History

VersionDateAuthorChange
{0.1}{YYYY-MM-DD}{name / role}{first draft for review}

Approvals

RoleDecisionDate
{e.g., Architecture review}{endorsed / endorsed with conditions / not endorsed}{YYYY-MM-DD}
{e.g., Security}{…}{…}

1. Executive Summary

1.1 Problem Statement

{The business problem or opportunity in two or three sentences: who is affected, what it costs them today, and why now.}

1.2 Proposed Solution Summary

{What the solution does and how it resolves the problem, in plain terms. Name capabilities rather than products.}

1.3 Target State Outcomes

OutcomeMeasureTarget
{what changes for the business}{how you will know}{the number, and by when}

1.4 Stakeholders and Concerns

StakeholderConcernAddressed in
{role, e.g., Product owner}{what they need the design to get right}{section numbers}

2. Business Context & Requirements

2.1 Key Functional Requirements

IdRequirement
{FR-1}{a requirement that shaped the architecture, not every feature}

2.2 Non-Functional Requirements (NFRs)

QualityRequirementPriority
{e.g., Availability}{a measurable target, and where it is measured}{goal, important or standard}
{e.g., Performance}{…}{…}
{e.g., Privacy}{…}{…}

2.3 Scope Boundaries

  • In scope: {what this solution delivers}
  • Out of scope: {what it deliberately doesn't, and where that is handled instead}
  • Constraints: {what the design is not free to change: organisational, technical, legal or contractual, each with its source}
  • Assumptions: {what must be true for this design to hold; each is also a risk in section 10 until confirmed}

3. Architecture Decisions (ADR Linkage)

DecisionSummaryQuality goal servedRecord
{the question decided}{the option chosen, in one line}{the goal from 2.2 it serves, and the one it gives up}{link to the ADR}

4. System & Component Model

4.1 Logical Architecture Diagram

{A diagram of channels, entry points, services, stores and external systems, and the flows between them, in the form below. It must be readable without colour.}

flowchart TB
  accTitle: {Title of the diagram}
  accDescr: {One or two sentences saying what is in the diagram and how the parts connect, for a reader who cannot see it.}

  subgraph Channels["{Channel or consumer boundary}"]
    Consumer["{Consumer or channel}"]
  end
  subgraph System["{System boundary}"]
    Entry["{Entry point, such as a gateway}"]
    Service["{Service}"]
    Store[("{Data store}")]
  end
  External["{External system}"]

  Consumer -->|"{protocol}"| Entry
  Entry --> Service
  Service -->|"{what it reads or writes}"| Store
  Service -->|"{what it sends or receives}"| External

  classDef external stroke-dasharray: 6 4
  class External external

4.2 Component Catalog

ComponentResponsibilityOwned by
{component}{what it does, as a capability}{team}

4.3 System Context & External Neighbours

{The system drawn as one box among the people and systems it deals with, so a reader sees its boundary before its insides.}

flowchart LR
  accTitle: {Title of the diagram}
  accDescr: {What is around the system, and what passes between them.}

  User(["{User or role}"]) --> System["<b>{System name}</b>"]
  System <-->|"{what passes in each direction}"| Provider["{External system}"]

  classDef external stroke-dasharray: 6 4
  class Provider external
NeighbourKindExchangeContract
{person, organisation or system}{user, external system, provider}{what passes in each direction}{link to the contract, or "none"}

4.4 Runtime View

{Scenario name}

  • Trigger: {what starts it}
  • Normal path: {numbered steps, naming the components from 4.2 in order}
  • When {part} fails: {what the system does, what the user sees, and what is repaired afterwards}

{A sequence diagram of the scenario, with the normal path and the failure as alternatives. The steps above stay as the text version.}

sequenceDiagram
  accTitle: {Scenario name}
  accDescr: {The normal path and the failure case, in two or three sentences.}

  participant A as {Component}
  participant B as {Component}

  A->>B: {request}
  alt normal path
    B-->>A: {response}
  else a part fails
    B-->>A: {what the caller is told}
  end

5. Integration & Interface Design

5.1 Integration Patterns Used

IntegrationPatternWhy this pattern
{from → to}{pattern name and link}{the force that made it the right choice}

5.2 API Specifications & Contracts

ContractInteractionStatus
{link to the contract, e.g. an Integration Contract Record}{synchronous, event, message, file}{draft / agreed}

6. Data Architecture

6.1 Data Model / Schema

EntityKey attributesNotes
{entity}{attributes that matter to the design}{ownership, sensitivity, lifecycle}

6.2 Data Storage Technology Map

DataStoreWhy
{data}{kind of store}{the property that made it the right store}

6.3 Data Lifecycle & Security

  • Personal information: {what is collected, and why}
  • Retention: {how long, and what happens after}
  • Residency: {where it is stored}
  • Encryption: {at rest and in transit}

7. Security & Compliance Controls

7.1 Authentication & Authorization

{Who and what authenticates, how, and how access is scoped: users, administrators, services, external systems.}

7.2 Network Security

{What is reachable from where, and what protects each entry point.}

7.3 Threat Model & Mitigation

ThreatMitigation
{a realistic threat to this system}{the control, and the decision or component that provides it}

8. Deployment & Infrastructure

8.1 Target Environment Specifications

ElementSpecification
{e.g., Hosting, Compute, Database, Delivery, Environments}{…}

8.2 Disaster Recovery (DR) & Business Continuity

MeasureTargetHow
{e.g., Recovery point objective}{…}{…}
{e.g., Recovery time objective}{…}{…}

9. Cross-cutting Concerns

ConcernHow the design handles it
{Observability: logs, metrics, traces, alerts}{what is recorded, how a request is followed across components, what raises an alert}
{Error handling and retries}{the error form callers see, which failures are retried, and what stops a retry storm}
{Accessibility and usability}{the standard met, and how it is checked}
{Testing and quality assurance}{the levels of test, and which requirement or contract each proves}

10. Risks, Assumptions & Technical Debt

ItemKindLikelihood and impactTreatmentOwner
{what could go wrong, or what is being deferred}{risk, assumption or debt}{low, medium or high; and the effect}{accept, mitigate, transfer or avoid; and how}{role}

11. Glossary

TermMeaning in this document
{term}{the meaning the design depends on}