April 03, 12:42

Серебряной пули нет – кросс-командные проблемы тут все те же самые, что и в Профи были. Внутри команд все делается пулей, как только надо выйти за пределы, все трындец, время выполнения задачи растет экспоненциально с увеличением числа вовлеченных команд. Если без подробностей – нужно кое-что хранить про человека (просто флаг), и в зависимости от этого делать то, или иное действие. Внутри бы мы это за пару часов с тестированием и холиваром на код-ревью бы сделали. Но из-за того, что были соображения, что надо сделать "правильно", все затянулось вот уже как на третью неделю, по-моему, если не больше. С пятком совещаний, привлечением всяких людей с погонами архитекторов, рисованием диаграмм, многочасовыми ожиданиями прав доступа, и документаций. Serious business, епта. 😂

Какой урок из всего этого можно извлечь – если потопали в сторону команд и сервисной архитектуры, нужно максимально делать все так, чтобы команды могли начинать использовать сервисы друг друга без живого общения – машиночитаемые спеки на сервисы, документации, инструкции по получению прав доступа. И они не просто должны быть, а должны быть одинаковыми у всех, потому что если каждый эту задачу решил, но по-своему, в цепочку добавляется ненужный шаг "а где эти свою документацию держат" и "ептить, кто же за эту хрень отвечает". Ну и да – варианта не писать документацию здесь нет, в противном случае надо будет постоянно отвечать на чужие вопросы.

UPD: Тут документация у большинства сервисов есть, и в большинстве случаев Swagger/GQL схемы имеются. Права, правда, приходится просить, ну и сами спецификации не всегда в одном месте лежат, что иногда мешает. Но в целом весьма неплохо для такого масштаба.