Если вы поищете интерфейсы в Google, вы найдете много информации о том, насколько полезными могут быть интерфейсы.
Концепция состоит в том, чтобы определить четкие интерфейсы, которые будут использоваться различными компонентами / частями / классами / модулями для общения и взаимодействия. После того, как вы определили, каким должен быть ввод / вывод этих интерфейсов, вы можете позволить различным командам разработать все, что необходимо для выполнения требований интерфейса, включая тестирование ввода / вывода и т. Д.
Если вы будете следовать этой схеме, различные команды могут начать разработку своей части, не дожидаясь, пока другие части будут готовы. В дополнение к этому вы можете использовать модульное тестирование (использование поддельных объектов для симуляции других частей, которые вы не разрабатываете, и тестирование своей части).
Этот метод является стандартным для любого нового проекта программирования, и каждый примет это как должное.