Самые опасные решения архитектора.

Архитектор принимает самые важные технические решения в компании. Для разработки архитектуры системы с нуля обычно бывает 50+ архитектурных решений (decision) и 3-5 из них важнее других. Сегодня поговорим о последних. Назовем их Big Bang Decisions, чтобы у вас от слова "важное" в глазах не заребило, ну и просто название классное 😁

Big Bang Decisions формируют всю архитектуру и ошибки в них 100% угробят всю архитектуру. Другими словами, они очень рискованные.

Как сократить/убрать эти риски? При формировании Big Bang Decision мы выдвигаем гипотезы. Обычно архитекторы называют их assumptions, логируют, делают архитектуру и садятся в джакузи пить мохито 🛁 Через полгода это все накрывается медным тазом, архитектор показывает, что он залогировал что это был не факт а assumption и "вы там сами виноваты а я молодец". Подход популярный, но стремный.

Можем его улучшить? Да запросто. Для каждой гипотезы архитектор делает руками прототип, который проверяет гипотезу. Сами гипотезы и прототипы нужно привести в самом решении. И архитектору будет полезно и разработчики могут использовать прототип как базу настоящего решения.

Неподтвержденная гипотеза – тоже успех. Сэкономили кучу ресурсов компании, ведь не пришлось неверное решение реализовывать. На моей обширной практике неподтвержденными оказываются до 30% гипотез у опытного архитектора и до 80% у неопытного. Оценили какой головняк архитекторы создают компаниям со своими assumptions? 😈

Что такое прототип? Это минимально функциональное нечто. Баш скрипт, CLI инструмент, плагин а может быть и развернутая система.

Делать РУКАМИ архитектору? Ага, а кому еще? 🪂 Отличная возможность вернуться на землю и прочувствовать как архитектура будет работать в реальности.

Но это ведь долго? У нас есть публичные облака, Serverless а теперь еще и AI код пишет. Так что прототип можно сделать за 4-8 часов. Я серьезно и я это делал еще до AI (например ультра сложный кластер Hadoop разворачивал с устаревшими зависимостями или копался в кишочках Chromebook).

Время примеров ✨ Недавно делал архитектуру для НКО. Big Bang Decisions для него – это где работники фонда и волонтеры будут выполнять бизнес процессы. Гипотезы: – AmoCRM подходит как база для актуальных бизнес процессов – AmoCRM позволяет расширять свой функционал под нужды НКО

Прототипы подтвердили гипотезы: – Развернут AmoCRM под нужды НКО и настроены важные процессы – Создан виджет с примером дашборда с аналитикой для владельца НКО В добавок обнаружил, что подход виджетов с лендинг страницы AmoCRM НКО плохо подходит и нужно использовать другие подходы. Без прототипа разработчики бы приуныли.

Оба прототипа сделал за день. +1 день, чтобы сделать виджет красивым для демо владельцу НКО. Ей не верилось как это все будет работать, так что убил двух зайцев.

А теперь настало время признаний. А вы как риски у архитектурных решений снижаете?


В этом посте были ссылки, но мы их удалили по правилам Сетки

Самые опасные решения архитектора.
Архитектор принимает самые важные технические решения в компании | Сетка — социальная сеть от hh.ru