Skip to content

Architecture and delivery templates

How to use these templates

These are copyable Markdown templates. Fill them before a build starts, then refine them as evidence arrives. Copy any fenced block into a working document, replace every [placeholder], and remove sections that genuinely do not apply with a recorded reason.

The templates are complete enough to use directly without downloads. Keep them versioned beside the decisions and evidence they describe.

Template map

Template Delivery playbook phase Relevant course page
AI opportunity brief Discovery and feasibility The Practice: Discovery to Production
Feasibility and data-readiness review Discovery; Data readiness and solution selection Data for AI
Architecture decision record Data readiness and solution selection The Practice: Discovery to Production
Model/vendor evaluation matrix Data readiness and solution selection Cost Engineering for AI
Cost model Data readiness and solution selection; Prototype and evidence Cost Engineering for AI
Risk register All phases Governance, Safety, and Responsible AI
Prototype experiment report Prototype and evidence Evaluation, Observability, and Guardrails
Deployment and UAT sign-off Production, adoption, and evolution MLOps and LLMOps
Monitoring/support handover Production, adoption, and evolution Systems Design

One-page AI opportunity brief

# AI opportunity: [short name]

**Owner:** [name/role]
**Sponsor:** [name/role]
**Date/version:** [YYYY-MM-DD / v0.1]
**Decision needed:** [pursue / reshape / pause / stop] by [date]

## User and problem
- Primary user: [who]
- Job or decision: [what they need to accomplish]
- Current workflow: [3–5 steps]
- Problem and impact: [observable problem; who is affected]
- Current baseline: [time, quality, cost, volume, risk]

## Proposed outcome
- Smallest useful outcome: [measurable change]
- Success measures: [metric + target + period + data source]
- Guardrail measures: [what must not worsen]
- Non-goals: [explicit exclusions]

## Why AI, if at all?
- Candidate capability:
  [classification / extraction / generation / retrieval / other]
- Simpler alternatives considered: [rules / search / process change / no change]
- Reason to investigate AI: [evidence, not novelty]

## Context and constraints
- Users/volume/peak: [figures and forecast]
- Data needed and owner: [sources, owner, permission status]
- Security/privacy/regulatory needs: [classification and obligations]
- Quality/latency/availability/cost boundaries: [targets or unknowns]
- Human oversight: [who reviews what and when]

## Risks and unknowns
1. [assumption or risk] — test with [cheap experiment] — owner [role]
2. [assumption or risk] — test with [cheap experiment] — owner [role]

## Next step
[timeboxed activity], costing [range], to decide [specific decision].

Feasibility and data-readiness review

# Feasibility and data-readiness review: [initiative]

**Reviewer(s):** [roles]
**Date/version:** [date/version]
**Scope:** [use case, users, region, data boundary]

## Feasibility summary
| Dimension | Rating [Ready/Conditional/Not ready] | Evidence | Gap/action | Owner/date |
|---|---|---|---|---|
| Problem and baseline | [rating] | [evidence] | [action] | [owner/date] |
| Technical approach | [rating] | [evidence] | [action] | [owner/date] |
| Skills and operations | [rating] | [evidence] | [action] | [owner/date] |
| Security and governance | [rating] | [evidence] | [action] | [owner/date] |
| Economics and schedule | [rating] | [evidence] | [action] | [owner/date] |

## Data inventory
| Source/owner | Purpose | Format/volume | Quality/coverage | Freshness | Classification | Access/region | Retention/deletion |
|---|---|---|---|---|---|---|---|
| [source/owner] | [purpose] | [details] | [measured result] | [SLA] | [class] | [controls] | [rule] |

## Data tests
- Representative sample inspected: [what, period, size]
- Missing, duplicate, invalid, or biased records: [findings]
- Labels or expected answers: [availability and reviewer agreement]
- Leakage and time-order risks: [findings]
- Permissions preserved through retrieval/training: [test/evidence]
- Lineage, consent, licence, and permitted AI use: [status]
- Production refresh and deletion path: [design/status]

## Solution fit
- Non-AI baseline: [approach and result]
- Candidate patterns: [rules/search/ML/RAG/agent]
- Critical dependency tests: [model/API/data/integration]
- Failure and fallback: [expected behaviour]

## Recommendation
**Decision:** [Proceed / Proceed with conditions / Stop]
**Conditions:** [measurable conditions, owners, dates]
**Evidence still needed:** [items]
**Next review:** [date and participants]

Architecture decision record (ADR)

# ADR-[number]: [decision title]

**Status:** [Proposed / Accepted / Superseded / Rejected]
**Date:** [YYYY-MM-DD]
**Owners/approvers:** [roles]
**Related decisions:** [ADR links or none]

## Context
[Problem, users, current state, and why a decision is needed now.]

## Decision drivers
- [measurable requirement or hard constraint]
- [security, data, quality, latency, availability, cost, skill, or portability driver]

## Options considered
| Option | Benefits | Costs/risks | Evidence | Meets hard constraints? |
|---|---|---|---|---|
| [A] | [benefits] | [trade-offs] | [test/reference] | [Yes/No] |
| [B] | [benefits] | [trade-offs] | [test/reference] | [Yes/No] |

## Decision
We will [specific choice] because [reason tied to drivers and evidence].

## Consequences
- Positive: [outcomes]
- Negative/trade-offs: [accepted costs and limitations]
- Controls and follow-up: [actions, owners, due dates]
- Revisit trigger: [metric, provider change, scale, incident, or date]

## Validation
[How implementation and operation will prove the decision remains sound.]

Model/vendor evaluation matrix

Use a 1–5 score, where 1 is unacceptable and 5 is strong. Weights must total 100. Calculate weighted points = score × weight; the maximum total is 500. Define minimum gates separately so a high total cannot hide a critical failure.

Evaluation: [use case]                         Date/version: [date/version]
Evaluators: [product, SME, engineering, security, data, procurement]
Candidates: [A], [B], [C]

| Criterion and measurement method | Weight | A score | A evidence | B score | B evidence | C score | C evidence |
|---|---:|---:|---|---:|---|---:|---|
| Task quality on versioned eval set [metric] | 25 | [1-5] | [result] | [1-5] | [result] | [1-5] | [result] |
| Safety/security/privacy controls [tests] | 20 | [1-5] | [result] | [1-5] | [result] | [1-5] | [result] |
| Latency/reliability at expected load | 15 | [1-5] | [result] | [1-5] | [result] | [1-5] | [result] |
| Unit and total cost at forecast demand | 15 | [1-5] | [result] | [1-5] | [result] | [1-5] | [result] |
| Integration and operational fit | 10 | [1-5] | [result] | [1-5] | [result] | [1-5] | [result] |
| Data location, retention, and auditability | 10 | [1-5] | [result] | [1-5] | [result] | [1-5] | [result] |
| Portability, contract, support, and exit | 5 | [1-5] | [result] | [1-5] | [result] | [1-5] | [result] |
| TOTAL | 100 | [sum score×weight] |  | [sum] |  | [sum] |  |

Minimum gates: [for example, no security score below 3; quality metric >= target]
Disqualifications: [candidate + failed gate + evidence]
Sensitivity check: [does winner change if key weight/forecast changes?]
Recommendation: [candidate and why]
Commercial assumptions requiring confirmation: [price, quota, term, data use]
Approvers and date: [roles/date]

Cost model assumptions and outputs

# Cost model: [solution and scenario]

**Currency/price date:** [currency / YYYY-MM-DD]
**Period:** [monthly/annual]
**Scenarios:** [low/base/high]
**Owner:** [role]

## Demand assumptions
| Input | Low | Base | High | Source/confidence |
|---|---:|---:|---:|---|
| Active users | [n] | [n] | [n] | [source / L-M-H] |
| Requests per user per period | [n] | [n] | [n] | [source] |
| Input/output tokens per request | [n/n] | [n/n] | [n/n] | [measurement] |
| Peak requests per second | [n] | [n] | [n] | [source] |
| Retrieval/storage volume and growth | [n] | [n] | [n] | [source] |
| Retry/cache-hit rate | [%/%] | [%/%] | [%/%] | [source] |

## Unit-price assumptions
| Cost item | Unit | Price | Quantity formula | Source/date |
|---|---|---:|---|---|
| Model input/output | [1M tokens] | [amount] | [requests × tokens] | [quote/date] |
| Embeddings/reranking | [unit] | [amount] | [documents/queries] | [quote/date] |
| Compute/platform | [unit] | [amount] | [hours/capacity] | [quote/date] |
| Storage/database/network | [unit] | [amount] | [GB/operations/transfer] | [quote/date] |
| Monitoring/evaluation/security | [unit] | [amount] | [events/runs/seats] | [quote/date] |
| People/support/licences | [unit] | [amount] | [effort/seats] | [estimate/date] |

## Outputs
| Output | Low | Base | High |
|---|---:|---:|---:|
| One-off build and migration | [amount] | [amount] | [amount] |
| Recurring platform/model cost | [amount] | [amount] | [amount] |
| Recurring people/support cost | [amount] | [amount] | [amount] |
| Contingency | [amount] | [amount] | [amount] |
| Total cost per period | [amount] | [amount] | [amount] |
| Cost per request/successful outcome/user | [amount] | [amount] | [amount] |

Formula checks: [show core formulas and avoid double counting]
Excluded costs: [tax, integration, support, exit, or none]
Largest sensitivities: [input and effect of ± change]
Budget threshold and action: [threshold; route/cache/redesign/stop]
Actual-versus-forecast review: [cadence, owner, data source]

Risk register

Use agreed 1–5 likelihood and impact scales. Inherent score = likelihood × impact before treatment; record residual ratings after controls.

# Risk register: [initiative]

**Risk owner accountable for register:** [role]
**Review cadence:** [cadence]
**Scales/acceptance rule:** [definitions and approval threshold]

| ID | Risk: cause → event → impact | Category | Affected users/assets | Inherent L×I | Prevent/detect/respond controls | Evidence/control owner | Residual L×I | Treatment/action/due | Risk owner | Status/review |
|---|---|---|---|---:|---|---|---:|---|---|---|
| R-01 | [cause] may cause [event], resulting in [impact] | [quality/security/privacy/safety/ops/vendor/cost] | [who/what] | [L×I=score] | [controls] | [evidence/owner] | [L×I=score] | [avoid/reduce/transfer/accept; action/date] | [accountable role] | [open/date] |

## Escalation and acceptance
- Escalation trigger: [score, incident, control failure, or trend]
- Accepted residual risk: [ID, rationale, accountable approver, expiry date]
- Dependencies and emerging risks: [items]
- Next review: [date and participants]

Prototype experiment report

# Prototype experiment: [name]

**Decision supported:** [specific proceed/redesign/stop decision]
**Owner/date/version:** [details]
**Timebox/budget:** [limits]
**Candidate versions:** [code, prompt, model, data/index, parameters]

## Hypothesis and gates
If [change], then [outcome] will [target] for [user/slice], measured by [method].

| Metric | Baseline | Gate | Guardrail | Result | Pass? |
|---|---:|---:|---:|---:|---|
| [quality metric] | [value] | [target] | [limit] | [value + CI if used] | [Y/N] |
| [latency/cost/safety metric] | [value] | [target] | [limit] | [value] | [Y/N] |

## Method
- Evaluation set: [source, size, period, slices, permissions, version]
- Procedure: [steps, environment, repetitions, randomisation/blinding]
- Review rubric and reviewers: [criteria and agreement method]
- Known limitations/confounders: [items]

## Results and failures
- Results by slice: [table or summary]
- Representative successes: [case IDs]
- Failure categories and rates: [taxonomy and evidence]
- Security/abuse/fallback findings: [results]
- Observed unit cost and performance: [results]

## Conclusion
**Decision:** [Proceed / Redesign and retest / Stop]
**Reason:** [evidence against gates]
**Residual uncertainty:** [what is not proven]
**Actions:** [owner/date]
**Reproduction location:** [repository/report path]

Deployment and UAT sign-off

# Deployment and UAT sign-off: [release]

**Release/version:** [application/model/prompt/data/index versions]
**Environment/date/window:** [details]
**Release owner:** [role]
**Scope and excluded features:** [details]

## Readiness checklist
| Area | Evidence/target | Status [Pass/Conditional/Fail] | Owner | Exception/expiry |
|---|---|---|---|---|
| Functional and AI evaluation | [report + gate result] | [status] | [role] | [details] |
| Security/privacy/governance | [reviews + accepted risks] | [status] | [role] | [details] |
| Performance/capacity/cost | [load result + forecast] | [status] | [role] | [details] |
| Reliability/recovery/rollback | [tested result] | [status] | [role] | [details] |
| Monitoring, alerts, runbooks | [links and test] | [status] | [role] | [details] |
| User training and support | [materials/coverage] | [status] | [role] | [details] |

## UAT
- Users and workflows tested: [roles, scenarios, accessibility needs]
- Test data and environment: [details]
- Acceptance criteria: [measurable list]
- Results and defects: [passed/failed; severity; owner/date]
- Known limitations communicated: [how and to whom]
- Business owner decision: [Accept / Conditional / Reject]

## Release controls
- Rollout stages and feature flag: [plan]
- Go/no-go measures and approvers: [targets/roles]
- Stop/rollback triggers: [specific signals]
- Rollback steps and latest proof: [location/date]
- Communications and support coverage: [plan]

## Sign-off
| Accountability | Name/role | Decision | Date | Conditions |
|---|---|---|---|---|
| Product/service owner | [role] | [decision] | [date] | [conditions] |
| Technical/architecture | [role] | [decision] | [date] | [conditions] |
| Security/privacy/risk | [role] | [decision] | [date] | [conditions] |
| Operations/support | [role] | [decision] | [date] | [conditions] |

Monitoring and support handover

# Monitoring and support handover: [service]

**Service owner:** [role]
**Technical owner:** [role/team]
**Support contacts/hours:** [route and coverage]
**Version/date:** [details]

## Service definition
- Users and critical journeys: [details]
- Architecture and dependencies: [diagram/location; providers; data flows]
- Data/model/prompt/index versions: [how identified]
- SLOs and error budget: [availability, latency, useful-response targets]
- Known limitations and approved residual risks: [items/expiry]

## Signals and actions
| Signal | SLI/threshold by slice | Source/dashboard | Alert route | First action/runbook | Owner |
|---|---|---|---|---|---|
| Availability/errors | [target] | [location] | [route] | [action] | [role] |
| Latency/capacity | [target] | [location] | [route] | [action] | [role] |
| AI quality/grounding/safety | [target] | [location] | [route] | [action] | [role] |
| Data/retrieval freshness/drift | [target] | [location] | [route] | [action] | [role] |
| Cost/usage/adoption | [target] | [location] | [route] | [action] | [role] |
| Security/privacy events | [trigger] | [location] | [route] | [action] | [role] |

## Operating procedures
- Triage severity and escalation: [definitions and contacts]
- Safe disable, fallback, and rollback: [steps/permissions]
- Incident evidence and audit logs: [location, access, retention]
- Provider outage/quota response: [steps]
- Data correction/deletion and index refresh: [steps]
- User feedback and harmful-output report path: [route]

## Change and review
- Release/change approval: [process]
- Evaluation refresh triggers: [model/prompt/data change, drift, incident]
- Access, risk, supplier, cost, and SLO review cadence: [cadence/owners]
- End-of-life/export/deletion plan: [trigger and steps]

## Handover acceptance
- Dashboard and alert tested on [date] by [role]
- Rollback/fallback tested on [date] by [role]
- Support simulation completed on [date]; gaps: [items]
- Documentation/training accepted by [role] on [date]
- Open actions: [action, owner, due date]
- Final operational acceptance: [name/role/date/conditions]