Skip to content

Design Principles

ADS is designed with atomic fields — structured, discrete values rather than free-text wherever possible. This is a core principle of the standard.

BenefitDescription
Reduced ambiguityAuthors select from defined options rather than inventing prose
Machine-processableTooling can aggregate, compare, validate, and report across SADs
Faster to completeCheckboxes and selections are quicker than blank text fields
ComparableTwo SADs can be structurally compared and diffed
TranslatableEnum values can be mapped to any language without ambiguity
Governance-readyThe architecture governance process can verify completeness programmatically

The same atomic field renders differently depending on the output format, but carries identical meaning:

Schema TypeJSON / YAMLMarkdown / WordConfluence / Wiki
booleantrue / falseCheckbox: ☑ / ☐Checkbox macro
enum (single)"active-active"Radio button or bold selectionStatus macro or dropdown
enum (array)["aws", "azure"]Multiple checkboxes: ☑ AWS ☑ AzureMulti-select macro
yesNoNa"yes" / "no" / "not-applicable"☑ Yes ☐ No ☐ N/AStatus macro
riskLevel"high"HIGH (with colour)Status lozenge
integer / number4096Numeric fieldNumeric field
string (constrained)"PT4H" (ISO 8601)“4 hours”Duration field
string (free-text)ProseProseProse

The schema uses the following atomic patterns:

PatternExample FieldsValues
Yes / No / N/AinternetFacing, thirdPartyHosted, backupEnabledyes, no, not-applicable
Risk LevelresidualRisk, confidentiality, integritycritical, high, medium, low, negligible
Classificationclassificationpublic, internal, restricted, highly-restricted
Statusdocument status, ADR status, risk statusDefined per context
Technology Enumprotocol, authenticationMethod, secretStoreDefined per field
Sizing CategorydataSizeCategory, clusterSizeBanded ranges
DurationretentionPeriod, rtoTargetISO 8601 or banded categories
CriticalitybusinessCriticalitytier-1-critical through tier-5-minimal
ID PatternUC-01, ADR-001, R-001Regex-constrained strings

ADS is designed to work equally well as:

  • A human-authored document (Word, Confluence, wiki) — where atomic fields become checkboxes, dropdown menus, and radio buttons
  • A machine-readable file (JSON, YAML, Markdown) — where atomic fields are enums, booleans, and typed values
  • A web form — where atomic fields map directly to form controls

The JSON Schema is the single source of truth. All output formats are derived from it, ensuring consistency regardless of how the SAD is authored or consumed.

ADS is designed to be usable by all architects, including those who are neurodivergent. The following principles reduce cognitive load and improve readability:

Every section in the standard follows the same pattern:

  1. Purpose — a short statement explaining what this section covers and why
  2. Tables / Fields — structured, atomic fields to complete
  3. Guidance — contextual help in a clearly marked box

This predictable structure means you always know what to expect when you open a new section.

PrincipleHow ADS Implements It
Atomic fields over blank pagesCheckboxes, enums, and structured tables replace open-ended text fields. You select rather than compose.
Progressive disclosureThree documentation depths (Minimum → Recommended → Comprehensive) let you start simple and add detail only when needed.
One idea per rowTables present one field per row rather than combining multiple concepts.
Consistent terminologyThe glossary defines all acronyms. Terms are used consistently throughout.
Visual markersColour-coded depth indicators (Minimum Recommended Comprehensive) let you quickly see what’s required.
Clear scoringThe 0–5 compliance scale provides unambiguous, numeric feedback rather than subjective prose.

All acronyms used in ADS are defined in the glossary. When completing a SAD:

  • Define all acronyms on first use within the document
  • Include a glossary (Section 7.1) in every SAD
  • Avoid jargon where a plain-language alternative exists

When writing free-text content in a SAD:

  • Use short sentences. One idea per sentence.
  • Use bullet points rather than long paragraphs.
  • Use active voice (“The service sends data to…”) not passive (“Data is sent by the service to…”).
  • Use diagrams to complement text, not replace it.
  • Ensure diagrams have alt-text descriptions for screen readers.

ADS treats sustainability as a quality attribute on equal footing with reliability, performance, and cost — not as an afterthought or a one-line tick-box.

PrincipleHow ADS Implements It
A dedicated quality attributeSection 4.5 covers hosting efficiency, carbon measurement, network efficiency, code efficiency, and data efficiency, with prompts and a 0–5 scoring scale.
Embedded in the views, not bolted onThe Physical View (3.3), Data View (3.4), and Logical View (3.1) each have explicit Sustainability Considerations prompts at the point where the carbon-impacting decisions are actually made.
Operational, not aspirationalThe Lifecycle Management section (5.5) requires documenting how non-prod auto-shutdown, right-sizing reviews, and orphan-resource reclamation are operationalised — not just intended.
Aligned to recognised frameworksCross-references to AWS Well-Architected Sustainability and the Green Software Foundation’s Software Carbon Intensity (SCI) specification.
Trade-offs documented, not buriedWhere sustainability conflicts with another quality attribute (e.g., always-on DR vs cold standby), the trade-off is captured in Section 4.6 Quality Attribute Tradeoffs rather than left implicit.

The intent is that a SAD reviewer who reads only the views and the lifecycle section, never opening Section 4.5, still encounters the carbon-impacting decisions and can challenge them.

When organisations add custom sections via the customSections extension point, they SHOULD follow the same atomic field principles:

  1. Use boolean for yes/no questions
  2. Define enum values for any field with a finite set of valid answers
  3. Use typed fields (integer, number, date) for measurable values
  4. Reserve free-text string fields for genuinely open-ended content
  5. Add description to every field to clarify its purpose