Как архитектору и разработчику найти общий язык схематизации
Задачи общей схемы
Объяснить, зачем делается внедрение или фича.
Передать требования бизнеса.
Найти лучшую последовательность действий.
Прописать каждое действие так, чтобы это было понятно и бизнесу, и разработчику.
Дать разработчику понимание ценности как внедрения в целом, так и каждого действия.
Опасность излишне детализированных схем
Это схема кода, а не процесса. Здесь:
у разработчика нет понимания, зачем он пишет код;
у бизнеса нет понимания, зачем разработчик пишет код;
нет ценности, входа и выхода;
нет свободы для разработчика;
Увидеть ошибки ДО написания кода сложно.
Результат:
На схеме две грубые ошибки. Предложенный поток подвержен отказам, не предусматривает высоких нагрузок, не отвечает на простейший вопрос «зачем тут redis».
Разработчик не может предложить иное решение — на схеме же уже указаны инструменты. Зона ответственности разработчика размывается — он перестает быть ответственным за конечный результат.
Менеджер не понимает схему глубоко, видит только технические термины.
Схема из общего инструмента работы превратилась в инструмент манипуляции.