Перейти к содержанию

Шаблон ADR#

Версия: 1.2 · 2026-09-16 · по мастер-шаблону v6.0

ADR — запись одного принятого решения. Живёт в репозитории проекта, а не здесь: здесь только форма и правила.

От классической формы Найгарда (заголовок, статус, контекст, решение, последствия) эта отличается двумя добавленными полями — метод и снимок матрицы. Оба нужны для одного: чтобы через год было понятно не только что решили, но и на каком основании, и что из этого основания стоит перепроверить.

Форма#

# ADR-NNNN · <название решения>

Статус:    принят · 2026-09-16
Метод:     D-01 v1.0 · рыночный снимок 2026-09-16 · шаблон ADR v1.0
Участники: <кто принимал решение>

## Контекст
Числами, а не описаниями: объём, нагрузка, ограничения, сроки.
Это ответы на вопросы раздела 1 документа решения — с указанием,
за какой период они посчитаны.

## Дисквалификаторы
Что отпало без сравнения и по какому условию. Строка на вариант.
Пустой раздел означает, что дисквалификаторы не проверялись,
а не что их не было.

## Рассмотренные варианты
Перечень оставшихся после дисквалификации.
Заполненная матрица — ниже, целиком, снимком.

<матрица>

## Решение
Что выбрано. Одна-две фразы.

## Обоснование
Какие оси перевесили. Если была ничья — какая эвристика применена
и почему именно она.

## Последствия
Что становится дороже, что теряем, что придётся построить дополнительно.
Отрицательные последствия обязательны: ADR без них не рассматривался,
а обосновывался.

## Условия пересмотра
Что должно измениться, чтобы решение перестало быть верным.
Из раздела 7 документа решения, сокращённые до применимых.

## Самая дорогая будущая граница
Что при следующем изменении окажется дороже всего тронуть и почему.
Заполняется, когда решение задаёт структуру — границы, владение данными,
транзакционные швы. Через год это первое, что нужно знать, и последнее,
что кто-либо помнит.

## Связанные ADR
Отменяет · заменяет · зависит от · зависимые.

Короткая запись#

Решение по короткой форме не порождает полноценный ADR: матрицы нет, снимка рынка нет, копировать нечего. Записывается пять строк — в ADR проекта, если решение заметно в деньгах, иначе в комментарий к конфигурации:

Решение:     <что выбрано, конкретно>
Основание:   <числа с пометкой источника и датой>
Отклонения:  <от умолчания, с условием — или «нет»>
Вернуться:   <показатель и его порог>
Метод:       D-NN v<версия>

Статус и неизменяемость действуют и здесь: пересмотр — новая запись, а не правка старой.

Пять строк — не потолок. Длина записи зависит от того, сколько нужно объяснить, а не от формы решения. Если умолчание документа отвергнуто, причина отказа обязана быть в записи целиком: без неё решение выглядит произвольным ровно тогда, когда оно наиболее обоснованно. Разросшаяся запись не означает, что форма выбрана неверно (мастер-шаблон).

Правила#

Матрица копируется, а не прикладывается ссылкой. ADR отвечает на вопрос, почему так решили тогда. Ссылка на живой документ означает, что обоснование молча изменится вместе с ним.

Статус дописывается, содержание — нет. После принятия меняется только строка статуса и раздел связанных ADR. Пересмотр решения — новый ADR (правила версионирования).

Один ADR — одно решение. Если в разделе «Решение» появилось «и», проверьте, не два ли это ADR: их придётся пересматривать порознь.

У отвергнутого варианта всегда записана причина. Без неё его предложат заново через полгода, и разговор начнётся с нуля.

Числа с периодом. «140 задач за 6 месяцев» читается через год; «большинство задач» — нет.

Чего в ADR нет#

Не входит Где живёт
Список вопросов, оси, дисквалификаторы как метод Документ решения D-NN
Рыночная таблица целиком Раздел 4 документа решения, ссылкой и датой снимка
Механика выбранного подхода Карточки в topics/
План внедрения Задачи проекта

ADR — это результат и его основание, а не пересказ метода. Документ решения целиком в него не переносится: в поле «Метод» достаточно ссылки с версией.

История версий#

Версия Дата Изменение
1.2 2026-09-16 MINOR, по итогам прогона E-01: добавлен раздел «самая дорогая будущая граница»; снят ложный сигнал «разросшаяся запись означает неверную форму». Старые ADR остаются верными, новый раздел необязателен для решений, не задающих структуру
1.1 2026-09-16 MINOR: добавлена короткая запись из пяти строк для решений по короткой форме. Полная форма не изменилась, перепроверять нечего
1.0 2026-09-16 Первая версия: форма Найгарда плюс поля «метод» и «снимок матрицы»

Источники: Michael Nygard — Documenting Architecture Decisions · ADR GitHub organization — ADR templates · 02-versioning.md (статусы и цепочка версий)