Все, что написал
Сергей Протько - несомненно верно, но несколько абстрактно.
Отвечу конкретно на вопрос.
После создания схемы взаимодействия всех блоков, выделяется отдельно 3 части:
1. Клиентская часть
2. Серверная часть
3. "Труба": от момента "это нужно передать" до момента "получены вот эти данные".
Т.е. к "трубе" относится: API, протокол передачи, сжатие/шифрование данных, организация защищенного канала передачи и т.д.
Вот, вначале описываем (документируем) "трубу" и создаём "заглушки" для проверки взаимодействия между клиентом и сервером: т.е. подготавливаем некий тест-кейс на статичных, заранее известных эталонных данных, для дальнейшей отладки формирования и передачи данных со стороны как клиента, так и сервера.
Т.е., после того, как обе проверочных "заглушки" (генератор запросов тест-кейса и генератор ответов тест-кейса) будут готовы - можно приступать к параллельной разработке клиента и сервера, добавляя в контрольный тест-кейс нужные запросы/ответы по мере необходимости.
После того, как клиент и сервер по-отдельности будут корректно работать с "заглушками" - можно их связывать напрямую между собой (убрав временно или совсем и навсегда заглушки из схемы взаимодействия).
PS: пример "клиента-заглушки":