К качеству интерфейсов разрабатываемого ПО
И жнец, и швец, и на дуде игрец Кирилл Вятчин, специально для ZDNet.ru 19 января, 2004, 12:27 В российских компаниях в последнее время заметно растет внимание к качеству интерфейсов разрабатываемого ПО. Если два года назад среди объявлений о поиске персонала встретить вакансию проектировщика интерфейсов было практически невозможно, то сегодня подобные объявления появляются не реже чем два-три раза в месяц. О росте интереса также свидетельствует и главный юзабилити-форум рунета. Если раньше там общался очень узкий круг профессионалов, в основном знающих друг друга лично, то теперь все чаще появляются новички. Налицо вполне позитивная тенденция, можно говорить о том, что усилия по популяризации юзабилити в России начинают приносить первые плоды. Однако общая установка на то, что юзабилити — это хорошо, не раскрывает содержания сути работы юзабилиста. Работодатель, не имея представления о том, что и как должен делать такой специалист, рассчитывает на то, что приглашенный на эту должность сотрудник сам разберется, что и как нужно делать. Новоиспеченный юзабилист, зачастую пришедший из среды программистов или графических дизайнеров, часто руководствуется своим предыдущим опытом, что не позволяет ему создать действительно адекватный интерфейс. Содержание работы юзабилистаРассмотрим коротко основные обязанности и функции дизайнера интерфейсов в цикле разработки интерактивной системы (ПО или сайта). Сразу оговорюсь, что в данном случае термины «юзабилист» и «дизайнер интерфейсов» будут использоваться в качестве синонимов. Хотя на самом деле понятие «юзабилист» несколько уже, так как оценка юзабилити информационной системы — лишь один из аспектов работы по проектированию интерфейсов. Итак, главные функции дизайнера интерфейсов таковы: • Исследование деятельности пользователей системы. Специалист формализует контекст использования системы, бизнес-роли пользователей, проводит полевые исследования, наблюдения, анкетирование, интервью с конечными пользователями. Определяются цели и задачи пользователей, а также цели и задачи системы. • Проектирование общей структуры системы и разработка навигации. Необходимо заметить, что структура системы проектируется юзабилистом именно с точки зрения пользователя, а не разработчика. • Детальное проектирование экранов системы. Проектирование интерфейса экранов практически никогда не связано с их визуальным оформлением — юзабилист лишь определяет, какие интерфейсные элементы и как используются, внешний же вид этих элементов ему не важен. • Планирование, проведение и анализ результатов юзабилити-тестирования системы. • Участие в разработке документации. Юзабилист принимает непосредственное участие в составлении стилевых руководств для проектируемой системы, разработке технического задания и пользовательской документации. Разработанные специалистом прототипы являются частью технического задания на систему. Так как в СНГ нет вузов, в которых готовят разработчиков интерфейсов, предпочтительным образованием для специалиста по проектированию ПИ является психологическое (психология труда). Психологическое образование обуславливает сфокусированность на нуждах людей (чем юзабилисты, собственно, и занимаются), умение проводить полевые исследования и организованные эксперименты, а также достаточную для работы теоретическую подготовку (теория деятельности, когнитивная психология, все то, с чем придется сталкиваться ежедневно при разработке интерфейсов). Может ли программист заменить юзабилистаЧасто среди объявлений о поисках дизайнера интерфейсов можно встретить подобные: «Компания-разработчик ПО ищет разработчика GUI. Основные требования: опыт работы в качестве программиста не менее трех лет, хорошее знание Object Oriented Programming/Object Oriented Design, C++, MS Visual C++, Win 32 API, XML…» Вполне вероятно, что при помощи такого объявления компания найдет хорошего программиста. Однако вероятность того, что на объявление откликнется профессиональной дизайнер интерфейсов, стремится к нулю. По приведенному выше списку видно, что навыки юзабилити-специалиста никоим образом не совпадают с навыками программиста или дизайнера. Я категорически не верю в возможность сколько-нибудь эффективного совмещения этих специальностей в одном человеке. Скорее всего, он окажется либо никудышным программистом, либо весьма поверхностным юзабилистом. Принципиальное отличие дизайнера интерфейсов от программиста состоит в том, что программист привык иметь дело с машинами, а дизайнер интерфейсов — с людьми. Проектирование интерфейсов — дисциплина не техническая, а скорее общественная. Вот почему я считаю глубоко порочным такой подход к формированию штата IT-компании, когда работодатель ищет разработчика интерфейсов и специалиста в Object Oriented Programming в одном лице. В этом случае самое лучшее, что он может получить, это квалифицированного программиста, имеющего некоторое представление о юзабилити. Возможно, этот человек прочитал книгу о проектировании интерфейсов, или целых две. Возможно, закончил курсы. Все это, безусловно, полезно для специалиста в программировании и помогает эффективной коммуникации с юзабилистами. Точно так же, как юзабилист может получить представление об основах программирования. Не для того, чтобы сделать программирование своей основной деятельностью, но для того, чтобы лучше понимать программистов-профессионалов, работая с ними в одной команде над одним проектом. Дизайнер интерфейсов должен уметь применять методы качественных социологических исследований, проводить глубинные интервью, полевые исследования (например, наблюдение за работой пользователей в естественной обстановке), разбираться в социальной и когнитивной психологии, психологии труда, в теории деятельности, знать и уметь еще тысячу вещей, которые не имеют ни малейшего отношения к техническим дисциплинам, а находятся на стыке психологии, социологии и эргономики. Довольно нелепо требовать от квалифицированного программиста наличия всех этих знаний и умений. Не потому что он «глупый» или «враг пользователя», а потому, что он, грубо говоря, «на другое учился». У него другое образование (техническое), кроме того, вся его профессиональная деятельность имеет весьма слабое отношение к работе с потребностями и слабостями людей. Может ли графический дизайнер заменить юзабилиста?Довольно часто можно слышать мнение, что проектирование интерфейса лучше доверить графическому дизайнеру, потому что речь идет о том, как система будет выглядеть. В основном этот миф касается не разработки ПО, а создания веб-сайтов. Это неправильно. Есть определенная проблема в том, что многие веб-дизайнеры рунета пришли в веб, имея существенный опыт работы в полиграфии. По этой причине так часто игнорируются средовые особенности веба, что приводит к появлению сайтов, которые выглядят как новые глянцевые журналы. Выглядят замечательно — аж до тех пор, пока ими не начинаешь по-настоящему пользоваться, то есть решать с их помощью реальные задачи. Важно понимать, что критерии качества сайта имеют мало общего с критериями качества полиграфической продукции. Есть много опытных веб-дизайнеров, которые «переболели» попытками сделать из сайта бигборд, поняли особенности среды и начали читать переводные книги по веб-юзабилити (которые, хоть и очень редко, но появляются в России). Все это можно только приветствовать. Безусловно, такой дизайнер вполне может успешно справиться с созданием интерфейса для простого сайта, где не идет речь о сколько-нибудь интенсивном взаимодействии с пользователем (переход по ссылкам не в счет). Однако разработку интерфейса сайта с интерактивными сервисами (онлайн-покупки, почта, органайзер, взаимодействие между пользователями сайта и т.д.) и возможностями их настройки, лучше доверить профессиональным дизайнерам интерфейсов. Кроме того, даже в случае создания сайта, а не ПО речь на самом-то деле не только о том, «как система будет выглядеть», а в первую очередь о том, какова будет ее структура и логика взаимодействия с пользователем. Некоторые дизайнеры с недоверием относятся к юзабилити-специалистам, поскольку считают, что те призваны ограничить их творчество. Это не вполне правильное представление о роли юзабилиста. Некоторый конфликт интересов на самом деле присутствует, однако это нормально. Процесс разработки информационной системы всегда состоит из множества компромиссов, связанных с ограничениями бюджета, временными рамками проекта, необходимостью учитывать вопросы брендинга, определенными техническими ограничениями и так далее. Часто приходится искать компромисс между эстетикой и эргономикой. Потому очень редко можно встретить систему, которая была бы одновременно привлекательной в той степени, как это планировал визуальный дизайнер, и настолько эргономичной, какой ее разрабатывал юзабилист. Однако приемлемый результат невозможен без одновременной работы и дизайнера и разработчика интерфейсов. ЗаключениеКультура профессионального проектирования интерфейсов для интерактивных систем в России только начинает развиваться. Этой специальности не обучают в российских вузах, и настоящих специалистов данной сферы всего несколько десятков на всю многомиллионную страну. Потому в условиях недостатка квалифицированных кадров приходится искать нестандартные выходы, в частности, заниматься переподготовкой специалистов. Это сложный путь, на нем не избежать массы ошибок. Но осознание того, что «разработчик пользовательских интерфейсов» — это отдельная специальность, требующая знаний, навыков и образования, отличающихся от знаний, навыков и образования программиста или графического дизайнера, поможет более эффективно выбирать специалистов или сотрудников для проведения переподготовки. Кирилл Вятчин — специалист по юзабилити, разработчик пользовательских интерфейсов. Сотрудник компании Usethics. Среди профессиональных интересов — концепция использования шаблонов в дизайне взаимодействия. В данный момент оканчивает обучение в магистратуре факультета социологии и психологии Киевского национального университета им. Шевченко. http://zdnet.ru/?ID=312401