Зависит от обстоятельств. И от того, что приоритетнее - затраты или сроки.
Если у нас есть подробное ТЗ на функционал, по которому работает как бекенд, так и дизайнеры, то разработка может идти одновременно с дизайном. Или есть интеграционные задачи с системами заказчика, по которым можно работать без дизайна вообще - разработке ждать дизайн не нужно.
Или, если UI команда занимается только разрисовкой стандартных шаблонов - то почти всю разработку можно закончить и без макетов. Но, если есть этап целеориентированного проектирования, т.е. на старте нет понимания того, какой функционал будет реализован, то стоит подождать прототипов. Хотя даже в этом случае - базовые модели данных редко меняются.
С опытом управления разработкой приходит понимание, что именно может сильно поменяться после отриcовки UI, а что нет. И это "нет" можно запустить в разработку. Ну а ошибки такого понимания рефакторятся - в большинстве случаев это будет все-равно быстрее, хотя и затратнее.
С мобильным приложением как-то так же. Мы знаем базовые модели данных, можем делать АПИ. Но по мере отрисовки экранов приложения - АПИ может меняться, дополняться.