Шаблон 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 (статусы и цепочка версий)