Files
markitect-main/examples/TEMPLATE-ARC42.md

8.3 KiB
Raw Blame History

Software Architecture Documentation (arc42)

About this document

Purpose. This document follows the arc42 template to describe, communicate, and evolve the architecture of the system in a clear, lightweight, and practical way. For background on arc42, see the official overview and documentation.


1. Introduction and Goals

Briefly explains why the system exists and which forces shape the architecture (business goals, functional scope, quality goals, stakeholders).
Add your content here…

1.1 Requirements Overview

Summarize key functional requirements or link to your product/backlog sources; keep this concise and focused on what drives architecture.
Add your content here…

1.2 Quality Goals

Capture 35 top quality attributes (e.g., performance, security, evolvability) that guide trade-offs and decisions.
Add your content here…

1.3 Stakeholders

List stakeholders (roles, responsibilities, concerns) whose needs the architecture must satisfy.
Add your content here…


2. Architecture Constraints

Record constraints (technical, organizational, legal, standards, runtime environments, toolchains) that restrict options and influence design.
Add your content here…


3. System Scope and Context

Defines whats in/out of scope and how the system interacts with its environment (users, neighboring systems, external services).
Add your content here…

3.1 Business Context

Show business actors, interactions, and the value exchange; describe business-level inputs/outputs.
Add your content here…

3.2 Technical Context

Show technical interfaces, protocols, data formats, and integration endpoints between the system and external systems.
Add your content here…


4. Solution Strategy

Summarize the key architecture approach: principal patterns, frameworks, major decisions, and the rationale linked to goals and constraints.
Add your content here…


5. Building Block View

Explains the static decomposition of the system into building blocks (modules/components/subsystems), their responsibilities, and dependencies—the “floor plan”.
Add your content here…

5.1 Level 1 System/Top-Level

Show the top-level breakdown into major subsystems or layers and how they collaborate.
Add your content here…

5.2 Level 2 Key Components

Zoom into one or more subsystems from 5.1 and present their main components and relationships.
Add your content here…

5.3 Level 3 Internal Structure (as needed)

Detail important components (data structures, classes, packages) when necessary for understanding or change.
Add your content here…


6. Runtime View

Describes significant scenarios to illustrate behavior and interactions of building blocks (sequence/flow, error paths, non-functional aspects).
Add your content here…

6.x Scenario

State context, triggers, participating blocks, message/interaction flow, and notable variations.
Add your content here…


7. Deployment View

Maps software artifacts to infrastructure (nodes, regions, runtime platforms), including redundancy, scaling, and operational concerns.
Add your content here…

7.1 Infrastructure Overview

Present environments (dev/test/stage/prod), regions/zones, and high-level topology.
Add your content here…

7.2 Deployment Mapping

Describe which artifacts run where; capture capacity, sizing assumptions, and elasticity.
Add your content here…

7.3 Cross-Environment Differences

List relevant differences (configs, data stores, integrations, security postures).
Add your content here…


8. Cross-Cutting Concepts

Central rules & approaches that apply across the system (domain model, architecture patterns, security, logging, error handling, configuration, i18n, etc.).
Add your content here…

8.1 Domain & Data

Share ubiquitous language, key domain concepts, data ownership, and data lifecycle.
Add your content here…

8.2 Security

Threat model highlights, authn/authz, secrets handling, crypto, secure defaults.
Add your content here…

8.3 Observability & Operations

Logging, metrics, tracing, health checks, dashboards, incident response hooks.
Add your content here…

8.4 Error Handling & Resilience

Policies for retries, timeouts, backoff, circuit breakers, idempotency.
Add your content here…

8.5 Configuration & Feature Flags

How configuration is structured, validated, and delivered; flag strategy.
Add your content here…

8.6 Performance & Caching

Hot paths, caching layers, data locality, performance budgets and profiles.
Add your content here…

8.7 Code & API Guidelines

Language/framework idioms, API style (REST/gRPC/GraphQL), versioning and compatibility rules.
Add your content here…

8.8 Compliance & Data Protection

Relevant standards/regulations (e.g., ISO, GDPR), data retention, audit trails.
Add your content here…


9. Architecture Decisions

A log of significant decisions (ADRs): context, options considered, decision, consequences, status (proposed/accepted/superseded).
Add your content here…


10. Quality Requirements

Elaborate quality scenarios (stimulus → response measure) tied to the goals in 1.2, including measurable acceptance criteria.
Add your content here…

10.1 Quality Tree

Visualize quality attributes and their refinements to orient priorities.
Add your content here…

10.2 Quality Scenarios

Concrete scenarios per attribute (e.g., “Under X load, 95th-pct latency ≤ Y ms”).
Add your content here…


11. Risks and Technical Debt

List key risks, assumptions, unknowns, and consciously accepted debt with mitigation/retirement plans.
Add your content here…


12. Glossary

Define important domain and technical terms to ensure a shared vocabulary; add abbreviations and acronyms.
Add your content here…


13. Best-Practice Requirements & Quality Checklist

Use these requirements to review and keep the document—and architecture—healthy over time.

13.1 Structural Completeness

  • All 12 arc42 chapters present or explicitly marked “N/A” with rationale.
    Add your content here…
  • Each section starts with a purpose blurb and ends with concrete, current content or a tracked TODO.
    Add your content here…
  • Cross-references link related content (e.g., 4 ↔ 5/8, 1.2 ↔ 10).
    Add your content here…

13.2 Consistency & Traceability

  • Every major decision in 4 is backed by ADRs in 9 and aligned with 1.2/10.
    Add your content here…
  • Interfaces in 3.2 are consistent with components in 5 and scenarios in 6.
    Add your content here…
  • Deployment (7) matches runtime needs (6) and non-functional drivers (10).
    Add your content here…

13.3 Quality & Measurability

  • Quality goals (1.2) translated into measurable scenarios (10.2) with thresholds.
    Add your content here…
  • Operational SLOs/SLIs defined and observable (8.3) and tied to alerts/dashboards.
    Add your content here…

13.4 Risk & Debt Management

  • Top risks ranked with mitigations, owners, and review cadence (11).
    Add your content here…
  • Technical debt items carry impact, “pay-down” trigger, and target release.
    Add your content here…

13.5 Security & Compliance Hygiene

  • Threat model snapshot exists; controls mapped (8.2).
    Add your content here…
  • Data protection & retention addressed; lawful bases documented (8.8).
    Add your content here…

13.6 Evolution & Maintainability

  • Document is versioned; changes tracked with changelog and ADR status updates.
    Add your content here…
  • Architecture fitness checks (e.g., lightweight ATAM or quality scenario tests) scheduled.
    Add your content here…
  • Diagrams are living (source-controlled), with legend, date, and level of detail.
    Add your content here…

13.7 Fitness-for-Purpose Read-Through

  • One-page executive summary aligns with goals and constraints.
    Add your content here…
  • A new team member can understand system scope (3), big picture (5.1), and how to run it (7) within 60 minutes.
    Add your content here…