Быстрое создание прототипа - это процесс создания реалистичной модели пользовательского интерфейса будущей программы или программируемого продукта для раннего понимания юзабилити, потребностей и функций продукта. Быстро прототипированные пользовательские интерфейсы легко модифицируются и позволяют конечному пользователю внести свой вклад в проект. Несмотря на то, что быстрое создание прототипов дает преимущество пользовательского ввода в дизайне и возможность обнаруживать и исправлять недостатки во время разработки, также возникает ряд проблем.
Повторно используемые проблемы с кодом
Некоторые инструменты прототипирования позволяют программисту создавать повторно используемый код, но они создают пользовательские интерфейсы, которые потом сложно пересмотреть. Более распространенный подход, использующий инструменты, позволяющие быстро разрабатывать пользовательские интерфейсы, которые легче модифицировать, не дает полезного кода. Код, сгенерированный этими инструментами, является узкоспециализированным и комплексным образом интегрируется, что препятствует его эффективному частичному воспроизведению или передаче в другое приложение. В большинстве случаев преимущество использования более быстрых инструментов для создания прототипов заключается в большей удовлетворенности клиентов и в продуктах, которые с большей вероятностью будут удовлетворять предпочтения, приоритеты и требования клиента. Учитывая эти преимущества, недостаток отсутствия повторно используемого кода часто считается приемлемой жертвой при быстром прототипировании.
Более медленный процесс разработки
Непосредственное участие клиента в процессе разработки может привести к появлению новых потребностей и функций, которые потребуют дальнейшего кодирования. Хотя это может улучшить как опыт клиента в разработке, так и удобство использования конечного продукта, каждая новая введенная спецификация будет увеличивать общее время, необходимое для завершения разработки. В тех случаях, когда в процессе быстрого создания прототипов обнаруживаются несколько новых потребностей, в противном случае незначительные задержки, вызванные каждым из этих изменений, могут в целом привести к значительной задержке.
Точка остановки
Разработчики, которые могут добавлять или изменять функции в любое время, рискуют разработать интерфейс, к которому они всегда захотят добавить. Потенциал для интеграции бесчисленных дополнительных улучшений может растянуть время, необходимое для разработки продукта, так же, как и участие клиента, как отмечалось выше. Без строгой остановки, налагаемой графиками, сроками или бюджетными ограничениями, проект может оставаться в разработке на неопределенный срок, и готовый, продаваемый продукт может никогда не увидеть свет.