Зависимости же между командами были обречены на возникновение. Просто из-за самого факта деления по функциональному признаку. Если между Backend и Frontend еще можно было каким-то образом нивелировать негативный эффект за счет предварительного совместного проектирования интерфейсов, то с остальными зависимостями это уже провернуть не выйдет. Хотя пытались обойти и это. Например, перед имплементацией чего бы то ни было, сначала производилось исследование. Собиралась вся доступная информация о фиче, вычитывалась спецификация, уточнялись спорные моменты у экспертов, проверялись UX макеты… Затем все это упаковывалось в один или несколько Jira тикетов, чтобы непосредственный исполнитель мог просто взять и делать фичу в следующем спринте, без страха и сомнений. Проблема была в том, что каждый проводил эти предварительные исследования с разным качеством, поэтому страх, сомнения и дополнительные временные затраты на уточнения все равно имели место быть.