Итеративный дизайн - это методология проектирования, основанная на циклическом процессе прототипирования , тестирования , анализа и доработки продукта или процесса. По результатам тестирования последней итерации дизайна вносятся изменения и уточнения. Этот процесс призван в конечном итоге улучшить качество и функциональность дизайна. В итеративном дизайне взаимодействие с разработанной системой используется как форма исследования для информирования и развития проекта по мере того, как реализуются последовательные версии или итерации дизайна.
История
Интерактивный дизайн давно используется в инженерных областях. Одним из примеров является цикл « планирование – выполнение – проверка – действие», реализованный в 1960-х годах. Большинство программ разработки новых или существующих продуктов имеют цикл проверки, который используется для итерационных целей. DMAIC использует структуру Six Sigma и имеет такую функцию проверки.
Объектно-ориентированное программирование
Итерационный дизайн связан с практикой объектно-ориентированного программирования , и это выражение появилось в литературе по информатике еще в 1990 году. [1] Идея уходит корнями в спиральное развитие , задуманное Барри Боем . [2]
Итерационный процесс проектирования
Итеративный процесс проектирования может применяться на протяжении всего процесса разработки нового продукта . Однако изменения проще и дешевле внедрять на самых ранних этапах разработки. Первым шагом в процессе итеративного проектирования является разработка прототипа . Прототип должен быть оценен фокус-группой или группой, не связанной с продуктом, чтобы высказывать непредвзятые мнения. Информация из фокус-группы должна быть синтезирована и включена в следующую итерацию дизайна. Процесс следует повторять до тех пор, пока проблемы пользователей не будут снижены до приемлемого уровня.
Применение: Человеко-компьютерные интерфейсы
Итерационный дизайн обычно используется при разработке интерфейсов человек-компьютер. Это позволяет дизайнерам выявлять любые проблемы с удобством использования, которые могут возникнуть в пользовательском интерфейсе, прежде чем он будет введен в широкое использование. Даже лучшие специалисты по юзабилити не могут спроектировать идеальные пользовательские интерфейсы с одной попытки, поэтому жизненный цикл юзабилити-инженерии должен строиться вокруг концепции итераций. [3]
Типичные шаги итеративного проектирования пользовательских интерфейсов следующие:
- Завершить первоначальный дизайн интерфейса
- Представьте дизайн нескольким тестовым пользователям
- Обратите внимание на любые проблемы, возникшие у тестового пользователя.
- Уточните интерфейс, чтобы учесть / исправить проблемы
- Повторяйте шаги 2–4, пока не будут устранены проблемы с пользовательским интерфейсом.
Итеративный дизайн в пользовательских интерфейсах можно реализовать разными способами. Одним из распространенных методов использования итеративного проектирования в компьютерном программном обеспечении является тестирование программного обеспечения . Хотя это включает в себя тестирование продукта на функциональность за пределами пользовательского интерфейса, важную обратную связь по интерфейсу можно получить в результате тематического тестирования ранних версий программы. Это позволяет компаниям-разработчикам программного обеспечения выпускать продукт более высокого качества для широкой публики и предотвращает необходимость модификации продукта после его выпуска.
Итерационный дизайн в онлайн-интерфейсах (веб-сайтах) - это более непрерывный процесс, поскольку модификация веб-сайта после того, как она была предоставлена пользователю, намного более жизнеспособна, чем при разработке программного обеспечения. Часто веб-сайты используют своих пользователей в качестве испытуемых при разработке интерфейса, внося изменения на основе рекомендаций посетителей своих сайтов.
Использование итеративного дизайна
Итеративный дизайн - это способ противостоять реальности непредсказуемых потребностей и поведения пользователей, которые могут привести к радикальным и фундаментальным изменениям в дизайне. Пользовательское тестирование часто показывает, что даже тщательно проанализированные идеи будут неадекватными при проведении пользовательского тестирования. Таким образом, важно, чтобы гибкость подхода к реализации итеративного проектирования распространялась на всю систему настолько, насколько это возможно. Дизайнеры также должны осознавать, что результаты пользовательского тестирования могут указывать на радикальные изменения, которые требуют от дизайнеров быть готовыми полностью отказаться от старых идей в пользу новых, более приспособленных к потребностям пользователей. Итерационный дизайн применяется во многих областях, от создания ножей до ракет. В качестве примера рассмотрим конструкцию электронной схемы, которая должна выполнять определенную задачу и в конечном итоге умещаться в небольшом пространстве на печатной плате . Эти независимые задачи полезно разделить на две более простые и меньшие задачи: задачу функциональности и задачу пространства и веса. Макета является полезным способом реализации электронной схемы на временной основе, без необходимости беспокоиться о пространстве и весе.
Как только схема заработает, к макетной плате могут быть применены улучшения или дополнительные изменения для увеличения или улучшения функциональности по сравнению с исходной конструкцией. Когда дизайн будет завершен, можно приступить к разработке правильной печатной платы, отвечающей критериям размера и веса. Для уплотнения схемы на печатной плате необходимо перемещать провода и компоненты без изменения их электрических характеристик. Это жонглирование следует более простым правилам, чем сама конструкция схемы, и часто происходит автоматически . По возможности используются готовые компоненты, но при необходимости из соображений экономии места или производительности могут быть разработаны компоненты, изготовленные по индивидуальному заказу.
Вот несколько примеров итеративного дизайна:
- Вики : Вики - это естественное хранилище итеративного дизайна. Функция «История страниц» позволяет отслеживать предыдущие версии. Модификации в основном являются инкрементными и оставляют неизменными существенные части текста.
- Общее право : принцип юридического прецедента основан на прошлом опыте. Это делает закон формой итеративного дизайна, в котором должен быть четкий контрольный след развития юридической мысли.
- Эволюция : существует параллель между итерацией и теорией естественного отбора . Оба включают в себя процесс проб и ошибок, в котором наиболее подходящий дизайн переходит к следующему поколению, в то время как менее подходящие проекты исчезают на обочине. Последующие версии продукта также должны постепенно улучшаться, поскольку его производители узнают, что работает, а что нет, в процессе доработки и постоянного улучшения .
Инструменты быстрого прототипирования
Один из подходов к итеративному дизайну - использовать высший уровень абстракции для разработки продукта раннего поколения. Принцип здесь заключается в том, что быстрая разработка может не привести к созданию эффективного кода, но получение обратной связи более важно, чем оптимизация технологий. Примеры этого подхода включают использование нефункционального кода, объектных баз данных или платформ с низким кодом - они позволяют быстро тестировать проекты до того, как будут решены проблемы оптимизации.
Преимущества
При правильном применении итеративный дизайн гарантирует, что продукт или процесс являются наилучшим возможным решением. При применении на ранней стадии разработки возможна значительная экономия средств. [4]
Другие преимущества итеративного дизайна включают:
- Серьезные недоразумения становятся очевидными на ранних этапах жизненного цикла, когда на них можно отреагировать.
- Это позволяет и поощряет обратную связь с пользователями, чтобы выявить реальные требования к системе.
- Там, где работа выполняется по контракту, итеративный дизайн предоставляет дополнительный метод для более эффективного вовлечения клиента в сложности, которые часто возникают в процессе проектирования.
- Команда разработчиков вынуждена сосредоточиться на тех проблемах, которые наиболее важны для проекта, а члены команды защищены от тех проблем, которые отвлекают и отвлекают их от реальных рисков проекта.
- Постоянное тестирование позволяет объективно оценить статус проекта.
- Несоответствия между требованиями, проектами и реализациями обнаруживаются на ранней стадии.
- Рабочая нагрузка команды, особенно команды тестирования, распределяется более равномерно на протяжении всего жизненного цикла.
- Такой подход позволяет команде использовать извлеченные уроки и, следовательно, постоянно улучшать процесс.
- Заинтересованным сторонам проекта могут быть предоставлены конкретные доказательства статуса проекта на протяжении всего жизненного цикла.
Marshmallow Challenge
Marshmallow Challenge - поучительный дизайнерский вызов. Он включает в себя задачу построить максимально возможную отдельно стоящую конструкцию с зефиром на вершине. Конструкция должна быть завершена в течение 18 минут с использованием только 20 палочек спагетти, одного ярда ленты и одного ярда веревки. [5] [6]
Наблюдения и исследования участников показывают, что детсадовцы регулярно способны строить более высокие структуры по сравнению с группами выпускников бизнес-школ. Это объясняется тенденцией детей сразу наклеивать зефир на простую конструкцию, тестировать прототип и продолжать улучшать его. В то время как студенты бизнес-школ, как правило, тратят время на борьбу за власть, планирование и, наконец, создание структуры, в которую добавляют зефир. [7] Задача помогает создавать и развивать навыки прототипирования, работы в команде, лидерства и инноваций и является популярным занятием STEM . Задача была изобретена Питером Скиллманом из Palm, Inc. и популяризирована Томом Вуйеком из Autodesk . [8] [9] [10] [11] [12]
Смотрите также
Рекомендации
- ^ Gossain, Санджив; Андерсон, Брюс (1990). «Модель итеративного проектирования для объектно-ориентированного программного обеспечения многократного использования». Труды Европейской конференции по объектно-ориентированному программированию по системам, языкам и приложениям объектно-ориентированного программирования - OOPSLA / ECOOP '90 . С. 12–27. DOI : 10.1145 / 97945.97949 . ISBN 0-89791-411-2. S2CID 551413 .
- ^ «Резюме спиральной модели» (PDF) .
- ^ Нильсен, Дж. (1993). «Итеративный дизайн пользовательского интерфейса». Компьютер IEEE . 26 (11): 32–41. DOI : 10.1109 / 2.241424 . S2CID 17748574 .
- ^ Мантей, Мэрилин М .; Теори, Тоби Дж. (1988). «Анализ затрат и выгод для включения человеческого фактора в жизненный цикл программного обеспечения». Коммуникации ACM . 31 (4): 428–439. DOI : 10.1145 / 42404.42408 . S2CID 2031965 .
- ^ «Зефирный вызов» . Задача Marshmallow . Проверено 10 августа 2010 .
- ^ «Зефирный вызов» . КА: BPWrap. 2010-04-22 . Проверено 10 августа 2010 .
- ^ Йерц, Деннис Г. (10.05.2010). «Вызов зефира - блог грамотности Джерца» . Jerz.setonhill.edu . Проверено 10 августа 2010 .
- ^ Кэмерон, Крис (2010-04-23). «Зефир и спагетти: как детсадовцы думают как бережливые стартапы» . Readwriteweb.com. Архивировано из оригинала на 2010-08-21 . Проверено 10 августа 2010 .
- ^ «Зефирный вызов» . Engineeringrevision.com. 2010-05-02 . Проверено 10 августа 2013 .
- ^ «Зефирный вызов» . Эгоистичное программирование . Проверено 10 августа 2013 .
- ^ "Зефирный вызов | Факультет естественных наук | Университет Калгари" . Ucalgary.ca. 2010-12-13 . Проверено 10 августа 2013 .
- ^ Original Design Challenge (27 января 2014 г.), Peter Skillman Marshmallow Design Challenge , получено 12 сентября 2017 г.
- Бем, Барри В. (май 1988 г.) "Спиральная модель разработки и улучшения программного обеспечения", Компьютер, IEEE, стр. 61–72.
- Гулд, Дж. Д. и Льюис, К. (1985). Дизайн для удобства использования: ключевые принципы и то, что думают дизайнеры, Коммуникации ACM, 28 марта (3), 300–311.
- Крухтен, Филипп. Рациональный унифицированный процесс - введение,
- Крухтен, П. (2000). «От водопада к итеративной разработке - непростой переходный период для менеджеров проектов» (PDF) (Белая книга). Корпорация Rational Software . Проверено 17 августа 2019 . Цитировать журнал требует
|journal=
( помощь )
Внешние ссылки
- Итеративный дизайн пользовательского интерфейса на useit.com
- Ассоциация вычислительной техники
- Официальный сайт Marshmallow Challenge
- Видео TED о Marshmallow Challenge
- Классные изображения Marshmallow Challenge