ребят, спасибо большое)
нашла для себя несколько ответов
Я не знаю какая у вас практика, могу поделится опытом моей команды и мы в ней вроде все довольны. Мы делаем один внутрений проект, но в рамках него есть несколько продуктов для которых нужна как поддержка так и создание какой-то новой понятной функциональности, проведение каких-то условных исследование и создание концептов. Пробовали разные подходы, но удачным для нашей команды стало разделение команды на потоки, где каждый поток занимается своей частью задач. Примерно раз в 2 - 3 месяца мы обсуждаем как у нас дела, выделяем новые потоки и переходим из одной микрокоманды в другую, если есть желание. Конечное слово за формирвоанием команд остается за тимлидом, но в этом не было необходимости, так как мы распределялись довольно равномерно. Кто-то определялся, что хочет заниматьтся чем-то определенным, кто-то выбирал пару направлений.
Команда у нас не большая - 9 разработчиков + 3 QA. Разделяемся на три группы. Есть ежедневные митинги на всю команду - расскзываем о статусу и как идут дела (15 - 20 минут) + по потребностям отдельные митинги внутри микро команд (просто встать и поговорить не получается, так как у нас два офиса в разных городах и часовых поясах (хорошо разница не большая и рабочее время имеет боший интервал пересечения)).
Как итог - все довольны, никто не засиживается над однотипными задачами, каждый из разработчиков имеет представление о всех наших продуктах.