Надо выработать общие принципы, команда должна быть достаточно образована чтобы знать язык на котором описываются проектировочные решения (все знают, что такое tell don't ask, например?).
Непринципиальные вещи - типа форматирования кода должны быть закреплены в документации и проверяться инструментами. Надо как можно больше соглашений использовать готовых - как принято в вашем языке и фремйворке.
Помимо этого, надо договориться, как решать конфликты - например выбрать того, кто будет решать.
Надо учиться понимать людей и стараться вставать на их сторону - искать рациональное зерно в и доводах. Не переходить на личности и выражаться уважительно (не "Это чушь", а "Я понимаю, что здесь есть вот такие позитивные стороны, но думаю, что будет интереснее сделать то то и то то").
Самому выражаться ясно и логично, понимать почему именно это данное решение нравится а другое нет. Попробовать стать на точку зрения оппонента и там постоять.