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

Шаблон ADR

Шаблон Architecture Decision Record.

Шаблон ADR

ADR фиксирует важное архитектурное решение: контекст, проблему, варианты, выбранное решение, обоснование и последствия. Главный вопрос ADR — почему выбрали именно так.

Паспорт ADR

ПолеЗначение
IDADR-001
Название<краткое название решения>
СтатусProposed / Accepted / Deprecated / Superseded
ДатаДД.ММ.ГГГГ
Автор<ФИО>
Участники<ФИО / роли>
Связанные задачи<ссылки>
Заменяет ADR<ADR-ID или нет>

Контекст

Опишите ситуацию, в которой принимается решение: бизнес-задачу, текущую архитектуру, ограничения, зависимости и причину принятия решения сейчас.

Проблема

Сформулируйте проблему одним-двумя абзацами.

Архитектурно значимые требования

IDТребованиеТип
ASR-001<требование>Reliability / Performance / Security / Maintainability

Ограничения

IDОграничение
LIM-001<ограничение>

Рассмотренные варианты

Вариант 1. <название>

Описание: <описание>

Плюсы:

  • <плюс>;
  • <плюс>.

Минусы:

  • <минус>;
  • <минус>.

Вариант 2. <название>

Описание: <описание>

Плюсы:

  • <плюс>.

Минусы:

  • <минус>.

Выбранное решение

Выбираем <вариант>, потому что <причина>.

Обоснование

КритерийВариант 1Вариант 2Комментарий
НадежностьСредняяВысокая
СложностьНизкаяСредняя
СтоимостьНизкаяСредняя
СопровождениеСреднееВысокое

Последствия

Положительные

  • <последствие>.

Отрицательные

  • <последствие>.

Компромиссы

КомпромиссОписание
<качество 1> vs <качество 2><объяснение>

Влияние на систему

ОбластьВлияние
API<есть / нет>
БД<есть / нет>
Kafka<есть / нет>
Мониторинг<есть / нет>
Тестирование<что проверить>
Поддержка<runbook / инструкции>

Риски

РискВероятностьВлияниеМитигирующее действие
<риск>Low / Medium / HighLow / Medium / High<действие>

План внедрения

  1. <шаг>;
  2. <шаг>;
  3. <шаг>.

План отката

ШагДействие
1<действие>
2<действие>

Открытые вопросы

IDВопросКому адресованСтатус
Q-001<вопрос><роль / ФИО>Открыт

Критерии приемки документа

IDКритерий
AC-DOC-001Документ согласован с владельцем продукта / архитектором / разработкой, если применимо.
AC-DOC-002Все спорные места вынесены в открытые вопросы или зафиксированы как ограничения.
AC-DOC-003В документе нет неоднозначных формулировок вроде “быстро”, “удобно”, “корректно” без измеримого критерия.