Правильное решение: нанять человека, который знает и умеет организовывать команду или как минимум есть опыт работы в команде и он знает как все должно быть. Без такого опыта - потратите кучу времени и денег на настройку и отладку всех требуемых процессов, а так же на набивание своих шишек. Опишу кратко как оно примерно должно быть - примерно, потому что везде есть свои ньюансы. Структура команды примерно такая: клиент <-> прожект менеджер <-> тим лид <=> тех. лид <=> разработчики, QA, дизайнеры и остальные. Далее, рабочий процесс организовывается с использованием системы управления задачами - например JIRA, Redmine и прочее, а так же по подходящей вам методологии. Для локальной разработки разворачивается локальная среда, в т.ч. фронтэнд, бэкэнд, БД - скриптом, в докере, в виртуалке и т.п. (как удобнее). Для тестирования и отладки в окружении близком к проду - разворачивается тестовый сервер для запуска и проведения тестов, и сервер разработки - для разворачивания текущего процесса разработки (можно и совмещать). Т.о., любой разработчик может спокойно локально провести разработку фичи, произвести пуш в дев ветку и увидеть результат на дев-сервере и результат тестов. Команда тестирования так же может проводить полноценное ручное тестирование на тестовом сервере или на сервере разработки. И, соответственно можно показывать клиенту прогресс разработки по конкретным задачам.