Если у фичи будет выключатель, то количество кода точно не уменьшится. Как это может уменьшить количество конфликтов мне не ясно. Вот например минимальный вариант - в одной ветке есть фича и тесты. Хочу отдельно ревью на фичу, отдельно на тесты. Мержить тесты без фичи - никак.
Сначала разбить задачу на подзадачи так, чтобы у каждого разработчика была своя таска, и он в ней был один. И ветка была для этой таски отдельная. Затем открывать отдельные MR'ы в feature-ветку.
И стараться декомпозировать и делить в команде задачи так, чтобы не было такого, что "код этого разработчика нужен в задаче вот того, ещё до тех пор, пока он будет вмержен".
Так не надо делать тесты ДО того, как готов код, который они тестируют. Ну или мы говорим про ТДД, но тут совсем другой путь и проблем, опять-таки, не будет
Задачи ОБЫЧНО разделяются, но ИНОГДА, особенно в середине процесса, оказывается, что они связаны. Если делать одну задачу ПОСЛЕ другой, то можно застрять, поэтому обычно все делается параллельно.