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