Шаблон ADR
Шаблон Architecture Decision Record.
Шаблон ADR
ADR фиксирует важное архитектурное решение: контекст, проблему, варианты, выбранное решение, обоснование и последствия. Главный вопрос ADR — почему выбрали именно так.
Паспорт ADR
| Поле | Значение |
|---|---|
| ID | ADR-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 / High | Low / Medium / High | <действие> |
План внедрения
<шаг>;<шаг>;<шаг>.
План отката
| Шаг | Действие |
|---|---|
| 1 | <действие> |
| 2 | <действие> |
Открытые вопросы
| ID | Вопрос | Кому адресован | Статус |
|---|---|---|---|
| Q-001 | <вопрос> | <роль / ФИО> | Открыт |
Критерии приемки документа
| ID | Критерий |
|---|---|
| AC-DOC-001 | Документ согласован с владельцем продукта / архитектором / разработкой, если применимо. |
| AC-DOC-002 | Все спорные места вынесены в открытые вопросы или зафиксированы как ограничения. |
| AC-DOC-003 | В документе нет неоднозначных формулировок вроде “быстро”, “удобно”, “корректно” без измеримого критерия. |