stringtranslate.com

Итеративный дизайн

Итеративное проектирование — это методология проектирования , основанная на циклическом процессе прототипирования , тестирования , анализа и доработки продукта или процесса. На основе результатов тестирования последней итерации дизайна вносятся изменения и доработки. Этот процесс призван в конечном итоге улучшить качество и функциональность дизайна. В итеративном проектировании взаимодействие с разработанной системой используется как форма исследования для информирования и развития проекта по мере внедрения последовательных версий или итераций дизайна.

История

Итеративное проектирование давно используется в инженерных областях. Одним из примеров является цикл «планируй-делай-проверяй-действуй», внедренный в 1960-х годах. Большинство программ разработки новых продуктов или улучшения существующих продуктов имеют цикл проверки, который используется для итеративных целей. DMAIC использует структуру Six Sigma и имеет такую ​​функцию проверки.

Объектно-ориентированное программирование

Итеративное проектирование связано с практикой объектно-ориентированного программирования , и эта фраза появилась в литературе по информатике еще в 1990 году. [1] Идея берет свое начало в спиральной разработке , придуманной Барри Бемом . [2]

Итеративный процесс проектирования

Процесс итеративного проектирования может применяться на протяжении всего процесса разработки нового продукта . Однако изменения проще и менее затратно внедрять на самых ранних стадиях разработки. Первым шагом в процессе итеративного проектирования является разработка прототипа . Прототип должен быть оценен фокус-группой или группой, не связанной с продуктом, чтобы предоставить непредвзятые мнения. Информация от фокус-группы должна быть синтезирована и включена в следующую итерацию дизайна. Процесс должен повторяться до тех пор, пока проблемы пользователей не будут снижены до приемлемого уровня.

Применение: человеко-машинные интерфейсы

Итеративный дизайн обычно используется при разработке интерфейсов человек-компьютер. Это позволяет дизайнерам выявлять любые проблемы юзабилити, которые могут возникнуть в пользовательском интерфейсе, до того, как он будет введен в широкое использование. Даже лучшие эксперты по юзабилити не могут спроектировать идеальные пользовательские интерфейсы за одну попытку, поэтому жизненный цикл проектирования юзабилити должен быть построен вокруг концепции итерации. [3]

Типичные этапы итеративного проектирования пользовательских интерфейсов следующие:

  1. Завершите первоначальный дизайн интерфейса
  2. Представьте дизайн нескольким тестовым пользователям.
  3. Обратите внимание на любые проблемы, возникшие у тестового пользователя.
  4. Усовершенствовать интерфейс для учета/устранения проблем
  5. Повторяйте шаги 2–4, пока проблемы с пользовательским интерфейсом не будут устранены.

Итеративный дизайн в пользовательских интерфейсах может быть реализован многими способами. Одним из распространенных методов использования итеративного дизайна в компьютерном программном обеспечении является тестирование программного обеспечения . Хотя это включает в себя тестирование функциональности продукта за пределами пользовательского интерфейса, важные отзывы об интерфейсе могут быть получены в ходе предметного тестирования ранних версий программы. Это позволяет компаниям-разработчикам программного обеспечения выпускать более качественный продукт для общественности и предотвращает необходимость модификации продукта после его выпуска.

Итеративный дизайн в онлайн-интерфейсах (веб-сайтах) является более непрерывным процессом, поскольку модификация веб-сайта после того, как он был выпущен для пользователя, гораздо более жизнеспособна, чем в программном дизайне. Часто веб-сайты используют своих пользователей в качестве подопытных для дизайна интерфейса, внося изменения на основе рекомендаций посетителей своих сайтов.

Использование итеративного дизайна

Итеративное проектирование — это способ противостоять реальности непредсказуемых потребностей и поведения пользователей, которые могут привести к радикальным и фундаментальным изменениям в дизайне. Пользовательское тестирование часто показывает, что даже тщательно оцененные идеи будут неадекватны при столкновении с пользовательским тестированием. Таким образом, важно, чтобы гибкость подхода к реализации итеративного проектирования распространялась как можно дальше в систему. Проектировщики должны также осознавать, что результаты пользовательского тестирования могут предполагать радикальные изменения, которые требуют от проектировщиков быть готовыми полностью отказаться от старых идей в пользу новых, которые более приспособлены для удовлетворения потребностей пользователей. Итеративное проектирование применяется во многих областях, от изготовления ножей до ракет. В качестве примера рассмотрим проектирование электронной схемы , которая должна выполнять определенную задачу и в конечном итоге должна умещаться в небольшом пространстве на печатной плате . Полезно разделить эти независимые задачи на две более мелкие и простые задачи: задачу функциональности и задачу пространства и веса. Макетная плата — это полезный способ реализации электронной схемы на временной основе, не беспокоясь о пространстве и весе.

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

Ниже приведены несколько примеров итеративного проектирования:

Инструменты быстрого прототипирования

Один из подходов к итеративному проектированию заключается в использовании наивысшего уровня абстракции для разработки продукта раннего поколения. Принцип здесь заключается в том, что быстрая разработка может не производить эффективный код, но получение обратной связи важнее оптимизации технологий. Примерами такого подхода являются использование нефункционального кода, объектных баз данных или платформ с низким кодом — они позволяют быстро тестировать проекты до решения проблем оптимизации.

Преимущества

При правильном применении итеративное проектирование гарантирует, что продукт или процесс являются наилучшим возможным решением. При применении на ранней стадии разработки возможна значительная экономия средств. [4]

Другие преимущества итеративного проектирования включают в себя:

  1. Серьезные недоразумения становятся очевидными на ранних этапах жизненного цикла, когда на них можно отреагировать.
  2. Он обеспечивает и поощряет обратную связь с пользователями, чтобы выявить реальные требования к системе.
  3. В случаях, когда работа выполняется по контракту, итеративное проектирование обеспечивает постепенный метод более эффективного вовлечения клиента в сложности, которые часто сопутствуют процессу проектирования.
  4. Команда разработчиков вынуждена сосредоточиться на тех вопросах, которые наиболее важны для проекта, а члены команды ограждены от тех вопросов, которые отвлекают и уводят их от реальных рисков проекта.
  5. Постоянное тестирование позволяет объективно оценить состояние проекта.
  6. Несоответствия между требованиями, проектами и реализациями обнаруживаются на ранних этапах.
  7. Рабочая нагрузка команды, особенно команды тестирования, распределяется более равномерно по всему жизненному циклу.
  8. Такой подход позволяет команде использовать извлеченные уроки и, следовательно, постоянно совершенствовать процесс.
  9. Заинтересованным сторонам проекта могут быть предоставлены конкретные доказательства статуса проекта на протяжении всего жизненного цикла.

Маршмеллоу Челлендж

Работа-победитель конкурса «Маршмеллоу».

Marshmallow Challenge — это поучительная задача по дизайну. Она включает в себя задачу по созданию максимально высокой отдельно стоящей конструкции с зефиром наверху. Конструкция должна быть завершена в течение 18 минут, используя всего 20 палочек спагетти, один ярд ленты и один ярд веревки. [5] [6]

Наблюдения и исследования участников показывают, что дети дошкольного возраста регулярно способны строить более высокие структуры по сравнению с группами выпускников бизнес-школ. Это объясняется тенденцией детей сразу же прикреплять зефир поверх простой структуры, тестировать прототип и продолжать его улучшать. В то время как студенты бизнес-школ, как правило, тратят время на борьбу за власть, планирование и, наконец, создание структуры, к которой добавляется зефир. [7] Задача помогает создавать и развивать навыки прототипирования, командной работы, лидерства и инноваций и является популярной деятельностью STEM . Задача была придумана Питером Скиллманом из Palm, Inc. и популяризирована Томом Вуйеком из Autodesk . [8] [9] [10] [11] [12]

Смотрите также

Ссылки

  1. ^ Госсейн, Санджив; Андерсон, Брюс (1990). "Модель итеративного проектирования для повторно используемого объектно-ориентированного программного обеспечения". Труды Европейской конференции по объектно-ориентированному программированию на тему "Системы объектно-ориентированного программирования, языки и приложения" - OOPSLA/ECOOP '90 . С. 12–27. doi :10.1145/97945.97949. ISBN 0-89791-411-2. S2CID  551413.
  2. ^ «Краткое изложение спиральной модели» (PDF) .
  3. ^ Нильсен, Дж. (1993). «Итеративный дизайн пользовательского интерфейса». IEEE Computer . 26 (11): 32–41. doi :10.1109/2.241424. S2CID  17748574.
  4. ^ Mantei, Marilyn M.; Teorey, Toby J. (1988). «Анализ затрат и выгод для включения человеческого фактора в жизненный цикл программного обеспечения». Communications of the ACM . 31 (4): 428–439. doi : 10.1145/42404.42408 . S2CID  2031965.
  5. ^ "The Marshmallow Challenge". The Marshmallow Challenge . Получено 2010-08-10 .
  6. ^ "The Marshmallow Challenge". CA: BPWrap. 2010-04-22 . Получено 2010-08-10 .
  7. ^ Jerz, Dennis G. (10.05.2010). "The Marshmallow Challenge - Jerz's Literacy Weblog". Jerz.setonhill.edu . Получено 10.08.2010 .
  8. ^ Кэмерон, Крис (2010-04-23). ​​«Зефир и спагетти: как детсадовцы мыслят как бережливые стартапы». Readwriteweb.com. Архивировано из оригинала 2010-08-21 . Получено 2010-08-10 .
  9. ^ "The Marshmallow Challenge". Engineeringrevision.com. 2010-05-02 . Получено 2013-08-10 .
  10. ^ "The Marshmallow Challenge". Эгоистичное программирование . Получено 2013-08-10 .
  11. ^ "Marshmallow challenge | Факультет естественных наук | Университет Калгари". Ucalgary.ca. 2010-12-13 . Получено 2013-08-10 .
  12. Original Design Challenge (2014-01-27), Peter Skillman Marshmallow Design Challenge, заархивировано из оригинала 2021-12-13 , извлечено 2017-09-12

Внешние ссылки