BDD, Agile.
Делим процесс разработки на этапы от недели до трех.
Разделяем функционал и пишем
спецификацию (на человеческом языке или на Gherkin). (это должны делать по хорошему бизнес аналитики консультируясь с продукт-оунером а затем все это отдается QA которые либо дописывают приемочные тесты либо просто прописывают acceptance criteria). На основе наших спецификаций выбираем наиболее важный функционал для грядущего релиза, имплементим.
Если брать скрамы всякие, то у нас имеет место быть нулевой спринт. Это тот этап на котором дизайнеры могут спокойно начать работать над дизайном, пока разработчики разворачивают структуру проекта, CI сервера и всю необходимую им инфраструктуру.
Далее разработчики имплементят выбранный на этот промежуток времени функционал (дизайн к которому должен был начать готовиться дизайнерами чуть раньше) и релизят (передают QA). Те проверяют и рапартуют какой функционал готов, какой бажит, какой нарушает UX и т.д. Затем в конце спринта можно провести митинг ретроспективу, обсудить проблемы и адаптировать процесс.
Через пару спринтов прогнозируемость всего и вся будет улучшаться. Цикл разработки каждой команды будет непрерывным и подразумевает тесное общение между собой. На основе всей этой информации планируются следующие релизы и новый функционал.
Вот...
UPD: а, не большого... Если можно начать работу над функционалом без дизайна - стоит начать с этого. Можно скажем сначала все сделать на twitter bootstrap а затем уже дизайнеры будут лучше ориентироваться в функционале и использовать существующую реализацию как прототип.