2023-01-19 12:45:23
Архитектура как набор документов
По поводу документирования архитектурных решений существует широкий спектр мнений.
От "документировать ничего не нужно" до "архитектура это и есть документ".
Те, кто считают, что документирование имеет смысл выделяют три функции документа.
1.
Объективизацию
Архитектор "отчуждается" от решения. Смотрит на него со стороны. Более объективно
2.
Коммуникацию
Архитектор доносит свою мысль до стейкхолдеров.
3.
Архивацию
Мысль архитектора сохраняется. Может быть многократно использована или пере-использована.
Подо все это есть свои виды документов, заточенные на выполнение конкретных функций.
1.
ADR (запись архитектурного решения)
Это объективизация. Используется в процессе решения конкретной задачи.
Здесь архитектор перебирает варианты, строит модели, фиксирует данные прототипирования.
Здесь же фиксируется решение.
Я предпочитаю фиксировать сразу несколько решений
- Как будет на следующей итерации
- Как будет в итоге (целевое решение)
- Идеальное (обычно недостижимое) решение
Ну и плюс миграция от одного к другому
Подход 4D
2.
RFC (документ для обсуждения)
Многие предполагают, что это стадия ADR. То есть для обсуждения предлагается использовать законченую ARD.
Мы у себя в команде находим это несколько неудобным.
Почти так же не удобно как есть на кухне.
Зачем посвящать всех стейкхолдеров в детали и нюансы принятия решений.
Можно выхолостить ADR. Оставить только выводы и отдать на обсуждение.
3.
AD (архитектурное описание)
Когда-то это был единственный документ, представляющий архитектуру. Обычно многотомник.
Здесь итоги решений сведены к описанию системы в целом. Уже без привязки к отдельным решаемым вопросам.
В принципе можно обойтись и без AD.
RFC содержат всю информацию по системе. Однако RFC это фрагменты - и их надо собрать.
Намного проще иметь диаграммы компонент и развертывания в одном месте.
Раньше этот документ распечатывался и раскидывался по столам стейкхолдеров.
Теперь он электронный и может быть фрагментирован.
#ArchDoc
126 viewsMaxim Yunusov, edited 09:45