Для многих клиентов, описывающих, что приложение будет делать, или перечисление набора требований, недостаточно, чтобы они могли полностью понять, как это будет работать. Это приводит к печально известным изменениям в середине проекта и ползучести области. Один из способов смягчить это - создать броскую версию, которая позволяет им увидеть «рабочий» пример того, как будет работать реальное приложение.
Он часто может функционировать как доказательство концепции, но я считаю, что общение с клиентом является более полезной целью прототипа. В частности, вы можете захотеть сделать прототип с использованием другой технологии - Ruby/Rails, скажем, или чистого Javascript, чем будет использоваться конечное рабочее приложение. Если это так, по-прежнему существует доказательство ценности концепции с точки зрения используемых вами алгоритмов или способов подключения к другим системам, но опять же, фактический код будет выброшен.
Итак, часть вашего описания, с которой я бы согласилась, это «добавить остальное» - я бы выбросил прототип и начал все заново.
Хороший вопрос. Я думал, что прототипирование просто делает проект в основном быстрее. –