Тут еще стоит сделать важную помарку что я работал только в командах <= 10 человек.
Когда у тебя больше 200 человек пишут монолит + сервисы, начинаются интересные заморочки. Особенно с версионированием, эволюцией схемы и прочими интересными штуками. Граф не помогает решать основные проблемы, потому что разработчикам все равно надо помнить о совместимости. А использование шин превращается в интересную игру «кто первый из продьюсеров сломает консьюмер», поэтому приходится жестко определять схему событий и их версии