Skip to content

Blog

Solution Architecture Document: What to Include (+ Template)

What to include in a solution architecture document: problem, requirements, options, design, integrations, data, risks, and decisions. Template included.

3 min read · Dino Correia
solution-architecturedocumentationdecision-records

TL;DR

  • A good solution architecture document covers the problem, scope, requirements, constraints, options, chosen design, risks, and decisions.
  • Always record which options were considered and why they were rejected, or the same debate returns months later.
  • Keep it short: diagrams plus brief explanations, and delete sections that don't apply.
  • A copy-ready template is included.

A solution architecture document explains what problem is being solved, what constraints apply, which options were considered, what was chosen and why, and how the chosen design works: its systems, integrations, and data. A good one is short enough that people actually read it, and specific enough that a team can build from it.

The mistake I see most is documents that describe the chosen design in detail but never say what else was considered. Six months later, nobody remembers why it was built that way, and the same debate starts again.

What to include

1. Context and problem

Two or three paragraphs. What is happening today, who is affected, and what “solved” looks like. If people can’t agree on this section, stop and resolve that before designing anything.

2. Scope

What this design covers, and just as importantly, what it doesn’t.

3. Requirements

  • Functional: what the solution must do.
  • Non-functional: performance, availability, security, compliance, and scalability expectations, with numbers wherever you have them.

4. Constraints and assumptions

Budget, deadlines, existing systems that can’t change, regulation, team skills. List assumptions separately so they can be checked; wrong assumptions are where designs quietly break.

5. Options considered

For each realistic option: a short description, pros, cons, rough cost and effort, and risks. Include “buy”, “integrate something existing”, and “do nothing” where they are genuine options. (More on that in build vs buy.)

6. Recommended solution

The chosen option and the reasoning. Then the design itself:

  • Context diagram: the solution, its users, and the systems around it.
  • Components: the main building blocks and what each is responsible for.
  • Integrations: every connection to another system, with direction, method, and what happens on failure. (See the API integration checklist.)
  • Data: what data is created, where it lives, how it moves, and who owns it.
  • Security: authentication, authorisation, and how sensitive data is protected.
  • Infrastructure: where it runs, at the level of detail the audience needs.

7. Risks

The main risks, how likely and serious each is, and what reduces them.

8. Decisions

A short log of the key decisions: what was decided, why, and what alternatives were rejected. For bigger decisions, link to a separate decision record.

9. Delivery approach and open questions

How it will be delivered (phases, migration, cutover if relevant) and the questions still unanswered, each with an owner.

Template

Copy this into your own docs tool and delete what you don’t need:

# [Solution name] - Solution Architecture

Status: Draft | In review | Approved
Owner:
Last updated:

## 1. Context and problem

## 2. Scope

In scope:
Out of scope:

## 3. Requirements

### Functional

### Non-functional

## 4. Constraints and assumptions

## 5. Options considered

### Option A:

Pros:
Cons:
Cost/effort:
Risks:

### Option B:

## 6. Recommended solution

Why this option:

### Context diagram

### Components

### Integrations

### Data

### Security

### Infrastructure

## 7. Risks

| Risk | Likelihood | Impact | Mitigation |
| ---- | ---------- | ------ | ---------- |

## 8. Decisions

| Decision | Reason | Alternatives rejected |
| -------- | ------ | --------------------- |

## 9. Delivery approach and open questions

Keep it alive, keep it short

  • Write the problem and options sections before the design, not after.
  • Prefer diagrams plus short explanations over pages of prose.
  • Update the decisions section as things change during delivery, so the document stays true.
  • If a section doesn’t apply, delete it rather than filling it with boilerplate.

For recording individual decisions as you go, I built a free decision record tool that produces a clean Markdown record you can paste into the same docs.

If you’re not sure what a solution architect is responsible for in the first place, start with what solution architecture is.

Related articles

Blog

API Integration Checklist: What to Decide Before You Connect

API integration checklist: data contracts, authentication, failure handling, data boundaries, versioning, and monitoring to settle before connecting systems.

· 3 min read
integrationsapissolution-architecturechecklist
Read →

Blog

Build vs Buy: How to Make the Decision (and Not Regret It)

How to decide whether to build, buy, or integrate software: the questions that matter, the hidden costs on both sides, and when each option wins.

· 4 min read
technical-decision-makingsolution-architecture
Read →

Blog

Data Migration Checklist: What to Plan Before You Move

A practical data migration checklist: the questions to answer about source data, mapping, cutover, rollback, and validation before you move a single record.

· 4 min read
data-migrationsolution-architecturechecklist
Read →

Working through something similar?

I help untangle problems like this one.