{Ваше название здесь}
!!! info
**Состояние**: { Proposed | Under Review | Accepted | Rejected | Superseded | Deprecated }
**Обновлено**: {YYYY-MM-DD}
Резюме
{Это «краткое резюме для руководства» или «лифтовая презентация» вашей ADR. В нескольких лаконичных предложениях (обычно 2–4) чётко изложите основную проблему, вопрос или возможность, которой посвящена эта ADR. Кратко намекните на принятое решение или область внимания. Цель — помочь читателям быстро понять, о чём эта ADR и актуальна ли она для них, не читая весь документ. Считайте это аннотацией технической статьи или очень кратким введением в основную тему.}
Движущие факторы
{В этом разделе объясняется, почему это решение принимается сейчас. Чётко изложите основные мотивы, потребности или проблемы, обусловливающие это архитектурное решение. Подумайте о глубинных причинах и давлении.}
{например: мы разрабатываем новую функцию/возможность, которой нужно...}
{например: нам нужно повысить производительность, доступность, устранить технический долг...}
{например: отзывы пользователей показывают, что...}
{например: текущий подход налагает такие ограничения...}
Варианты
{Здесь вы перечисляете различные рассматриваемые варианты. Придерживайтесь фактов и избегайте мнений, анализ — в следующем разделе. Приведите краткое описание, ссылки на соответствующую документацию или примеры.
Включите все значимые альтернативы, которые вы изучали, даже если в итоге они не были выбраны. Цель — дать читателям чёткое, непредвзятое понимание каждой альтернативы, прежде чем вы перейдёте к оценке.}
{Название варианта 1}
{Опишите вариант, дайте резюме, перечислите факты, приведите ссылки и т. д.}
{Название варианта n}
...
Анализ вариантов
{Здесь вы критически оцениваете каждый вариант, представленный в разделе Варианты. Для каждого варианта дайте сбалансированный взгляд на его преимущества, недостатки и любые другие уместные соображения или компромиссы. Будьте конкретны и, где возможно, связывайте свои доводы с Движущими факторами.
Учтите такие аспекты, как:
Стоимость (разработка, эксплуатация, лицензирование)
Сложность (реализация, сопровождение, кривая обучения)
Риски (технические, эксплуатационные, безопасности)
Соответствие архитектурным принципам или существующим стандартам
Влияние на производительность, масштабируемость, удобство использования, сопровождаемость, безопасность и т. д.
Включайте столько утверждений «за»/«против»/«прочее», сколько потребуется. }
{Оценка варианта 1}
За: {Конкретное преимущество или выгода этого варианта.}
Против: {Конкретный недостаток, риск или затраты, связанные с этим вариантом.}
Прочее: {Уместный момент, который не является строго «за» или «против».}
{Оценка варианта n}
...
Рекомендация
{Здесь вы чётко формулируете окончательное решение и явно называете выбранный вариант. Подробно объясните, почему выбран именно этот вариант. Вам следует чётко изложить, как выбранный вариант лучше всего отвечает Движущим факторам и удовлетворяет ключевым требованиям или решает заявленную проблему.}
Последствия
{Этот раздел необязателен.}
{Теперь, когда решение принято, каковы ожидаемые результаты и влияние, как положительные, так и отрицательные? Какие известные ограничения, затраты или риски принимаются с этим решением? Как это решение повлияет на разных заинтересованных лиц, другие системы, практики разработки, эксплуатационные процедуры или пользовательский опыт?}
За: {Конкретный положительный результат или выгода, ожидаемая от этого решения.}
Против: {Конкретный принятый недостаток, затраты или риск, вытекающие из этого решения. }
Прочее: {Последствие, которое не является строго «за» или «против».}
Подтверждение
{Этот раздел необязателен.}
{Опишите, как будет проверяться реализация этого решения и как будет обеспечиваться постоянное соблюдение. Это помогает показать, что решение не просто теоретическое, а будет активно применяться и отслеживаться.
Как вы проверите, что решение реализовано правильно? (например, проверки кода, конкретные тесты, демонстрации, рецензирование коллегами).
Как соблюдение этого решения будет поддерживаться со временем? (например, автоматические проверки, периодические аудиты, обновления рекомендаций для команды, обучение).
Есть ли конкретные метрики или показатели, которые покажут, что решение достигает намеченных положительных результатов? (например, тесты производительности, показатели внедрения, сокращение определённых ошибок, оценки обратной связи от пользователей).
Кто отвечает за надзор за этим и что происходит, если решение не выполняется?}
Дополнительная информация
{Этот раздел необязателен.}
{Используйте этот раздел, чтобы привести любую дополнительную информацию, подкрепляющую решение, добавляющую контекст или направляющую будущие действия. Здесь также могут быть ссылки на другие решения и ресурсы.
Вы можете кратко отметить, кто участвовал в процессе принятия решения и был ли достигнут консенсус и как. Вы также можете предложить срок или конкретные события, которые могут послужить поводом для пересмотра этого решения в будущем.}