Смотря что дает понимание.
Иногда нарисованный прототип дает понимание проекта и предстоящих задач. И может являться своеобразным ТЗ.
Иногда наоборот - работа с данными настолько неизвестна (например программим свой relap.io или пишем свой findface.ru) - там понимание возможностей приходит только после кода а дизайн вторичен.