Итеративное проектирование — это методология проектирования , основанная на циклическом процессе прототипирования , тестирования , анализа и доработки продукта или процесса. На основе результатов тестирования последней итерации дизайна вносятся изменения и доработки. Этот процесс призван в конечном итоге улучшить качество и функциональность дизайна. В итеративном проектировании взаимодействие с разработанной системой используется как форма исследования для информирования и развития проекта по мере внедрения последовательных версий или итераций дизайна.
Итеративное проектирование давно используется в инженерных областях. Одним из примеров является цикл «планируй-делай-проверяй-действуй», внедренный в 1960-х годах. Большинство программ разработки новых продуктов или улучшения существующих продуктов имеют цикл проверки, который используется для итеративных целей. DMAIC использует структуру Six Sigma и имеет такую функцию проверки.
Итеративное проектирование связано с практикой объектно-ориентированного программирования , и эта фраза появилась в литературе по информатике еще в 1990 году. [1] Идея берет свое начало в спиральной разработке , придуманной Барри Бемом . [2]
Процесс итеративного проектирования может применяться на протяжении всего процесса разработки нового продукта . Однако изменения проще и менее затратно внедрять на самых ранних стадиях разработки. Первым шагом в процессе итеративного проектирования является разработка прототипа . Прототип должен быть оценен фокус-группой или группой, не связанной с продуктом, чтобы предоставить непредвзятые мнения. Информация от фокус-группы должна быть синтезирована и включена в следующую итерацию дизайна. Процесс должен повторяться до тех пор, пока проблемы пользователей не будут снижены до приемлемого уровня.
Итеративный дизайн обычно используется при разработке интерфейсов человек-компьютер. Это позволяет дизайнерам выявлять любые проблемы юзабилити, которые могут возникнуть в пользовательском интерфейсе, до того, как он будет введен в широкое использование. Даже лучшие эксперты по юзабилити не могут спроектировать идеальные пользовательские интерфейсы за одну попытку, поэтому жизненный цикл проектирования юзабилити должен быть построен вокруг концепции итерации. [3]
Типичные этапы итеративного проектирования пользовательских интерфейсов следующие:
Итеративный дизайн в пользовательских интерфейсах может быть реализован многими способами. Одним из распространенных методов использования итеративного дизайна в компьютерном программном обеспечении является тестирование программного обеспечения . Хотя это включает в себя тестирование функциональности продукта за пределами пользовательского интерфейса, важные отзывы об интерфейсе могут быть получены в ходе предметного тестирования ранних версий программы. Это позволяет компаниям-разработчикам программного обеспечения выпускать более качественный продукт для общественности и предотвращает необходимость модификации продукта после его выпуска.
Итеративный дизайн в онлайн-интерфейсах (веб-сайтах) является более непрерывным процессом, поскольку модификация веб-сайта после того, как он был выпущен для пользователя, гораздо более жизнеспособна, чем в программном дизайне. Часто веб-сайты используют своих пользователей в качестве подопытных для дизайна интерфейса, внося изменения на основе рекомендаций посетителей своих сайтов.
Итеративное проектирование — это способ противостоять реальности непредсказуемых потребностей и поведения пользователей, которые могут привести к радикальным и фундаментальным изменениям в дизайне. Пользовательское тестирование часто показывает, что даже тщательно оцененные идеи будут неадекватны при столкновении с пользовательским тестированием. Таким образом, важно, чтобы гибкость подхода к реализации итеративного проектирования распространялась как можно дальше в систему. Проектировщики должны также осознавать, что результаты пользовательского тестирования могут предполагать радикальные изменения, которые требуют от проектировщиков быть готовыми полностью отказаться от старых идей в пользу новых, которые более приспособлены для удовлетворения потребностей пользователей. Итеративное проектирование применяется во многих областях, от изготовления ножей до ракет. В качестве примера рассмотрим проектирование электронной схемы , которая должна выполнять определенную задачу и в конечном итоге должна умещаться в небольшом пространстве на печатной плате . Полезно разделить эти независимые задачи на две более мелкие и простые задачи: задачу функциональности и задачу пространства и веса. Макетная плата — это полезный способ реализации электронной схемы на временной основе, не беспокоясь о пространстве и весе.
После того, как схема заработает, можно вносить улучшения или постепенные изменения в макетную плату для увеличения или улучшения функциональности по сравнению с исходным проектом. Когда проект будет завершен, можно приступить к проектированию надлежащей печатной платы, отвечающей критериям пространства и веса. Компактирование схемы на печатной плате требует, чтобы провода и компоненты жонглировали без изменения их электрических характеристик. Это жонглирование следует более простым правилам, чем проектирование самой схемы, и часто автоматизировано . Насколько это возможно , используются готовые компоненты, но при необходимости по соображениям пространства или производительности могут быть разработаны индивидуальные компоненты.
Ниже приведены несколько примеров итеративного проектирования:
Один из подходов к итеративному проектированию заключается в использовании наивысшего уровня абстракции для разработки продукта раннего поколения. Принцип здесь заключается в том, что быстрая разработка может не производить эффективный код, но получение обратной связи важнее оптимизации технологий. Примерами такого подхода являются использование нефункционального кода, объектных баз данных или платформ с низким кодом — они позволяют быстро тестировать проекты до решения проблем оптимизации.
При правильном применении итеративное проектирование гарантирует, что продукт или процесс являются наилучшим возможным решением. При применении на ранней стадии разработки возможна значительная экономия средств. [4]
Другие преимущества итеративного проектирования включают в себя:
Marshmallow Challenge — это поучительная задача по дизайну. Она включает в себя задачу по созданию максимально высокой отдельно стоящей конструкции с зефиром наверху. Конструкция должна быть завершена в течение 18 минут, используя всего 20 палочек спагетти, один ярд ленты и один ярд веревки. [5] [6]
Наблюдения и исследования участников показывают, что дети дошкольного возраста регулярно способны строить более высокие структуры по сравнению с группами выпускников бизнес-школ. Это объясняется тенденцией детей сразу же прикреплять зефир поверх простой структуры, тестировать прототип и продолжать его улучшать. В то время как студенты бизнес-школ, как правило, тратят время на борьбу за власть, планирование и, наконец, создание структуры, к которой добавляется зефир. [7] Задача помогает создавать и развивать навыки прототипирования, командной работы, лидерства и инноваций и является популярной деятельностью STEM . Задача была придумана Питером Скиллманом из Palm, Inc. и популяризирована Томом Вуйеком из Autodesk . [8] [9] [10] [11] [12]