Итерационный дизайн - Iterative design

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

История

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

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

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

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

Применение: Человеко-компьютерные интерфейсы

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

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

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

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

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

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

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

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

Вот несколько примеров итеративного дизайна:

  • Вики: А вики это естественный репозиторий для итеративного дизайна. Функция «История страниц» позволяет отслеживать предыдущие версии. Внесение изменений в основном носит инкрементный характер, и существенные части текста остаются неизменными.
  • Общее право: Принцип правовой прецедент опирается на прошлый опыт. Это делает закон формой итеративного дизайна, в котором должно быть четкое контрольный журнал развития правовой мысли.
  • Эволюция: Есть параллель между итеративным методом и теорией естественный отбор. Оба включают в себя процесс проб и ошибок, в котором наиболее подходящий дизайн переходит к следующему поколению, в то время как менее подходящий дизайн уходит на второй план. Последующие версии продукта также должны постепенно улучшаться, поскольку производители узнают, что работает, а что нет, в процессе доработки и постоянное улучшение.

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

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

Льготы

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

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

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

Marshmallow Challenge

Успешная работа Marshmallow Challenge.

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

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

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

использованная литература

  1. ^ Госейн, Санджив; Андерсон, Брюс (1990). «Модель итеративного проектирования для объектно-ориентированного программного обеспечения многократного использования». Труды европейской конференции по объектно-ориентированному программированию по системам, языкам и приложениям объектно-ориентированного программирования - OOPSLA / ECOOP '90. С. 12–27. Дои:10.1145/97945.97949. ISBN  0-89791-411-2.
  2. ^ «Краткое изложение спиральной модели» (PDF).
  3. ^ Нильсен, Дж. (1993). «Итеративный дизайн пользовательского интерфейса». IEEE Computer. 26 (11): 32–41. Дои:10.1109/2.241424.
  4. ^ Мантей, Мэрилин М .; Теори, Тоби Дж. (1988). «Анализ затрат и выгод для включения человеческого фактора в жизненный цикл программного обеспечения». Коммуникации ACM. 31 (4): 428–439. Дои:10.1145/42404.42408.
  5. ^ «Зефирный вызов». Испытание зефира. Получено 2010-08-10.
  6. ^ «Зефирный вызов». КА: BPWrap. 2010-04-22. Получено 2010-08-10.
  7. ^ Йерц, Деннис Г. (10.05.2010). "Вызов зефира - блог грамотности Джерца". Jerz.setonhill.edu. Получено 2010-08-10.
  8. ^ Кэмерон, Крис (2010-04-23). «Зефир и спагетти: как детсадовцы думают как бережливые стартапы». Readwriteweb.com. Архивировано из оригинал на 21.08.2010. Получено 2010-08-10.
  9. ^ «Зефирный вызов». Engineeringrevision.com. 2010-05-02. Получено 2013-08-10.
  10. ^ «Зефирный вызов». Эгоистичное программирование. Получено 2013-08-10.
  11. ^ "Marshmallow Challenge | Факультет естественных наук | Университет Калгари". Ucalgary.ca. 2010-12-13. Получено 2013-08-10.
  12. ^ Конкурс оригинального дизайна (27 января 2014 г.), Питер Скиллман: конкурс дизайна маршмеллоу, получено 2017-09-12
  • Бем, Барри В. (май 1988 г.) "Спиральная модель разработки и улучшения программного обеспечения", Компьютер, IEEE, стр. 61–72.
  • Гулд, Дж. Д. и Льюис, К. (1985). Дизайн для удобства использования: ключевые принципы и то, что думают дизайнеры, Коммуникации ACM, 28 марта (3), 300–311.
  • Крухтен, Филипп. Рациональный унифицированный процесс - введение,
  • Крухтен, П. (2000). «От водопада к итеративной разработке - непростой переходный период для руководителей проектов» (PDF) (Белая бумага). Rational Software Corporation. Получено 2019-08-17. Цитировать журнал требует | журнал = (Помогите)

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