Перейти к основному содержимому

О разделе "ADR и архитектурная память"

ADR (Architectural Decision Record) — короткий документ о важном архитектурном решении: что выбрали, в каком контексте, какие компромиссы приняли. Без ADR знания остаются в головах ушедших сотрудников, в закрытых PR и в устных "мы так всегда делали". Новый разработчик тратит недели на повторение споров; инциденты вскрывают допущения, о которых никто не записал.

Раздел для новичка и для команды, которая хочет архитектурную память без тяжёлой документации: шаблон Nygard, статусы, хранение в Git, примеры в продукте, аутсорсе и госсекторе.

Для кого

Разработчику — где искать "почему Redis" и как предложить ADR в PR.

Архитектору и SA — минимальный процесс review и связь с NFR.

PM и тимлиду — когда решение влияет на срок и change request.


Что вы узнаете

ТемаРезультат
Определение ADRКонтекст, решение, последствия, статус
Когда писатьДорого отменить — фиксируем
Шаблон NygardГотовый каркас для первого ADR
СтатусыProposed → Accepted → Deprecated / Superseded
docs-as-codeADR в Git, review в PR
КонтекстыПродукт, аутсорс, гос, легаси

Как читать раздел

ШагМатериалСодержание
1ADR — запись архитектурных решенийШаблон, статусы, хранение, примеры
2ИтогиРезюме и FAQ
3Чек-листСамопроверка архитектурного журнала

Параллельно полезны проектирование и архитектура и ADR docs-as-code. На старте проекта — архитектура на старте.


Соседние разделы

ВопросКуда идти
NFR, SLA, trade-offПроектирование
Wiki и онбордингБазы знаний
Легаси и эволюцияЛегаси-код
Инцидент → новое решениеИнциденты
Git и PRОсновы Git

ADR — не то же самое, что ТЗ

В заказной разработке и госсекторе есть ТЗ и формальные письма. ADR дополняет их: объясняет инженерную развилку коротко и живёт рядом с кодом. ТЗ меняется медленно; ADR обновляется через Superseded, когда команда осознанно меняет подход.


Признаки, что ADR нужны вам

  • На каждом онбординге спорят про СУБД или брокер.
  • Postmortem пишет "не было документации по кэшу".
  • Архитектор в отпуске — команда боится трогать интеграции.
  • Заказчик просит обоснование для экспертизы — собираете с нуля за ночь.
  • PR на "переезд на Kafka" без текста "почему".

Если узнали команду — глава 1 и чек-лист.


Термины раздела

ТерминКратко
ADRЗапись архитектурного решения
КонтекстПроблема и ограничения
ПоследствияПлюсы, минусы, риски
ProposedADR на обсуждении
AcceptedДействующее решение
SupersededЗаменён другим ADR
docs-as-codeADR в Git с кодом

Первые шаги для команды без ADR

  1. Создать docs/adr/README.md.
  2. Описать 3 уже принятых решения (БД, auth, деплой).
  3. Добавить в шаблон PR ссылку на ADR.
  4. На онбординге — "прочитай ADR по своему сервису".