Проектирование, ориентированное на пользователей. Пользовательский опыт
Введение
Презентацию к лекции Вы можете скачать здесь.
Программные продукты, к которым относятся и приложения для смартфонов, зачастую демонстрируют сложное поведение. Это означает, что приложение обычно имеет набор кнопок или других управляющих элементов, при этом не всегда очевидно, что произойдет при взаимодействии с этими элементами, очень часто результаты взаимодействия зависят от текущего состояния приложения и того какие управляющие элементы использовались до этого. В связи с этим при разработке программного продукта имеет смысл обращать особое внимание на организацию высококачественного взаимодействия с пользователем.
Одной из важнейших задач в процессе разработки программного продукта является проектирование его успешного поведения. Для решения этой задачи эффективно применяется инструментарий, включающий методику персонажей, текстовые сценарии взаимодействия, а также проектирование, ориентированное на цели. Весь этот набор можно объединить под названием: проектирование взаимодействия. При таком подходе к проектированию за отправную точку принимается человек, главная цель выяснить, чего хочет пользователь.
Проектирование взаимодействия предоставляет описание окончательного варианта продукта, которое содержит предельно ясную и точную информацию о том, кто конкретно будет использовать продукт, каким образом и с какой целью. Имея под рукой такое описание, программисты осознают, что именно они создают, руководители могут оценить прогресс в работе программистов, а маркетологи получают понимание источника мотивации покупателя.
В данной лекции рассматривается эволюция процесса разработки программного обеспечения и стили принятия решений на этапе проектирования. Основное внимание уделяется проектированию взаимодействия, рассматривается процесс проектирования, ориентированного на цели, а также исследования, позволяющие получить информацию о пользователях, об имеющихся ограничениях, организационных задачах и бизнес целях. В конце лекции рассматриваются модели пользователей: персонажи и цели, а также сценарии как основа проектирования.
Эволюция процесса разработки программного обеспечения
Очень интересно посмотреть на то, как развивалась индустрия разработки программного обеспечения, на рис. 1.1 изображена эволюция процесса разработки программного обеспечения согласно Алану Куперу [ 1.1 ] .
В ранние дни развития индустрии программного обеспечения процесс разработки сводился к тому, что программисты вынашивали идею продукта, а затем создавали и самостоятельно тестировали его (диаграмма 1, рис. 1.1).
В более поздние времена к процессу стали подключаться профессиональные управленцы, их задачи сводились к оценке потребностей рынка и формулированию основных требований к разрабатываемому программному обеспечению (диаграмма 2, рис. 1.1).
С развитием индустрии в самостоятельную дисциплину выделилось тестирование, а также широкое распространение получили графические интерфейсы пользователя, появилась необходимость разработки различных визуальных элементов, в связи с чем к процессу разработки ПО подключились графические дизайнеры (диаграмма 3, рис. 1.1).
На последней диаграмме изображен подход к разработке программного обеспечения, при котором решения о возможностях продукта, его форме и поведении принимаются до начала дорогостоящей и сложной фазы создания продукта (диаграмма 4, рис. 1.1). Это обеспечивается включением в процесс разработки этапа проектирования, при этом эффективность проектирования во многом определяется выбранным стилем принятия решений, можно выделить 5 таких стилей [ 1.2 ] :
- "непреднамеренное" проектирование — команда сосредоточена на разработке и внедрении приложения, не задумывается об удобстве его использования;
- проектирование "для себя" — основывается на опыте использования продукта членами команды, имеет большие шансы на успех, чем "непреднамеренное" проектирование, хорош, когда члены команды являются главными пользователями разрабатываемого продукта;
- Genius проектирование — основывается на опыте всех членов команды в проектировании подобных продуктов, хорошо работает, если уже есть опыт проведения предварительных исследований пользователей и сценариев их поведения с последующей проверкой соответствия дизайна ожиданиям пользователей;
- проектирование, ориентированное на деятельность — основывается на исследовании поведения пользователей, для исследования часто применяются методики, основанные на деятельности, например, построение диаграмм последовательности операций (workflow diagrams) и ориентированное на задачи тестирование удобства использования;
- проектирование, ориентированное на пользователя — основывается на глубоком исследовании целей и нужд пользователей, контекста использования, позволяет принимать детальные решения, которые были бы невозможны при использовании других методов.
Стили перечислены в порядке возрастания объема исследований, которые необходимо провести команде проектировщиков для принятия решений. На первый взгляд должно казаться, что оптимальным будет использование стиля, ориентированного на пользователей, но это не всегда так. Существуют проекты, для которых затраты времени и сил на проведение детального исследования пользователей не оправданы, с другой стороны существуют проекты, которые без таких исследований просто провалились бы. Умение для каждого проекта выбрать наиболее эффективный стиль проектирования является одной из ключевых характеристик хорошего проектировщика [ 1.2 ] . Наиболее эффективные команды должны владеть всеми пятью методами принятия решений в процессе проектирования и выбирать именно тот, который лучше бы соответствовал нуждам и целям проекта.
Проектирование взаимодействия
Для успешного проектирования цифровых интерактивных продуктов, к каковым относятся и большинство мобильных приложений, необходимо помнить о сложном поведении, которое эти продукты демонстрируют. Очевидно, что необходимо особое внимание уделять проектированию поведения, при этом следует отметить, что традиционные дисциплины проектирования и дизайна нечасто затрагивают данный аспект. В связи с этим появляется новая дисциплина проектирования, которая получает название: проектирование взаимодействия и сосредотачивается в основном на проектировании поведения программного продукта.
Уже в начале нынешнего века стало понятно, что опыт взаимодействия при общении с цифровыми продуктами необходимо учитывать при разработке этих самых продуктов, пользователи устали от "технологии ради технологии". Крупнейшие учебные заведения, такие как, Стэнфордский университет и Harvard Business School признали, что следующее поколение управленцев и технологов должно находить проектированию взаимодействия место в своих бизнес планах и графиках разработок – и это небходимо учитывать в программах их подготовки. В сентябре 2005 года официально родилась организация IxDA – Interaction Design Association (ассоциация проектирования взаимодействия, ). Можно считать, что проектирование взаимодействия наконец становится самостоятельной дисциплиной и профессией [ 1.1 ] .
Разумеется, проектирование продукта не может концентрироваться только на поведении, необходимо учитывать внешний вид (форму) и информационное наполнение (содержание) разрабатываемого продукта. Поэтому необходимо сочетать подходы различных дисциплин проектирования: проектирование взаимодействия, основное внимание на поведение; информационная архитектура, занимается структурированием содержания; промышленный и графический дизайн, отвечает за форму продуктов и услуг.
В качестве основных инструментов для проектирования взаимодействия можно выделить следующий набор:
- принципы содержат формулировки общих идей о практике проектирования, правила и советы относительно наилучшего применения тех или иных идиом взаимодействия и пользовательского интерфейса;
- шаблоны описывают наборы идиом взаимодействия, которые регулярно применяются для реализации определенных пользовательских требований и решения типичных проблем проектирования
- процессы определяют схему, позволяющую понять и описать требования пользователей, преобразовать эти требования в общую структуру проекта и найти лучший способ применения принципов и шаблонов проектирования в конкретных ситуациях.
Интеграция принципов, процессов и шаблонов проектирования – ключ к созданию эффективного взаимодействия и эффективных интерфейсов цифровых продуктов. При этом, для получения действительно привлекательных продуктов, необходимо, с одной стороны, понимать желания, потребности, мотивации пользователей и контекст, в котором эти пользователи находятся, с другой стороны, понимать возможности, требования и ограничения бизнеса, технологии и предметной области. Использование этих знаний в качестве основы всех планов по созданию цифровых продуктов позволяет сделать их полезными, удобными и желанными, а также экономически жизнеспособными и технически осуществимыми.
Три выделенных качества: желанность, жизнеспособность и осуществимость – определяют успешный продукт. Ларри Кили (Larry Keeley) выделил современные задачи разработки, которые как раз предполагают реализацию в продукте всех трех качеств и, если хотя бы один из этих трех столпов значительно слабее двух других, продукт вряд ли выдержит испытание временем. В данной лекции, в первую очередь, рассматриваются пути разработки продукта желанного для пользователя. С этой целью рассмотрим проектирование, ориентированное на цели, как разновидность проектирования взаимодействия.