Сначала есть тех.задание от клиента. Обычно оно выглядит как говно и по нему 50% всего проекта придется додумывать самим. Это нормальная ситуация и бороться с ней не нужно.
Решается так:
1) Берем список хотелок клиента (это он обычно ТЗ называет)
2) Пишем нормальное ТЗ (прототип входит в ТЗ)
3) Утверждаем
4) Работаем
ТЗ подразумевает прототип с описание сценариев.