Простота есть необходимое условие прекрасного

Логотип компании
В компании установлена новая информационная система. Проводится обучение персонала, работающего в ней.
В компании установлена новая информационная система. Проводится обучение персонала, работающего в ней. Система сложна для понимания, тренинги идут тяжело, после них сотрудники с трудом справляются со своей работой. При этом, сложным и непонятным интерфейсам соответствует их не менее сложное описание.

Ваша сложность идет вам, как Соеву — пенсне

Знакомо? Конечно, это крайность. Конечно, здесь приведена утрированная версия внедрения информационной системы. Но как же часто происходит нечто подобное! Сколько раз вы сталкивались с ситуацией, когда разработчик не предоставляет возможности изменить интерфейс, когда размеры диалогового окна слишком малы, и в нем не помещается самая важная информация. Пользователь мучается, скорость его работы с таким программным обеспечением крайне низкая, производительность падает. А человеку, ответственному за внедрение ИС, уже не до этих «мелочей», он выстроил систему поддержки и занят очередным «успешным» проектом.
Но мы же не проводим обучение на тему как пользоваться чайником или водопроводным краном. Может, стоит упростить ИС? Может, следует более серьезно подойти к оценке usability системы?
В первую очередь, надо дать определение этого понятия. Согласно стандартам ISO, usability определяется как «степень, с которой продукт может быть использован определенными пользователями при определенном контексте использования для достижения определенных целей с должной эффективностью, продуктивностью и удовлетворенностью». Проще говоря, это мера того, насколько прост и удобен интерфейс программного продукта при выполнении пользователем определенных задач.
Понятие usability чаще применяется для оценки веб-сайтов. Наверное, потому что именно владельцы интернет-порталов сильно зависимы от пользователя. Слишком велика конкуренция, и если посетитель сайта сразу не найдет то, что ему необходимо, он уйдет на другой ресурс. Посетителей веб-сайтов практически невозможно заставить использовать какой-либо нестандартный интерфейс с его многочисленными тонкостями. В случае корпоративной информационной системы альтернатива usability есть: обучение пользователя и постоянная поддержка системы. Но, на мой взгляд, всего должно быть в меру. И вложение денег в обучение и поддержку частично можно заменить повышением usability интерфейсов корпоративной системы.
Кстати, все больше ИС имеют веб-интерфейсы, что, на мой взгляд, происходит неспроста. Люди привыкают к стандартному, простому и понятному. Использование таких интерфейсов в корпоративной информационной системе упрощает работу, соответственно увеличивает производительность. Но понятие usability относится не только к веб-среде. Везде, где есть взаимодействие человека и информационной системы, то есть существует интерфейс, можно говорить о его usability. Что же можно улучшить, оптимизируя интерфейс?

Ури! Где у него кнопка?

Иногда стоит остановиться и посмотреть на систему «со стороны». Почему пользователи работают так медленно? Что вообще такое скорость работы пользователей в ИС? Если разложить понятие работы с системой или с интерфейсом на составляющие, то можно заметить, что процесс взаимодействия разделяется на следующие этапы: (1) восприятие информации, (2) мыслительный процесс, (3) физические действия пользователя, (4) реакция системы.
Если мы имеем дело с грамотно построенной ИС, нет смысла говорить о последней стадии процесса. Естественно, что программа должна реагировать оперативно и быстро давать результат. На второй этап процесса влияет, насколько хорошо пользователю поставлена задача. Кроме того, важно соответствие возможностей — как всей системы, так и интерфейса с этой задачей. А вот на первый и третий этап мы можем повлиять, улучшая usability.

В первом этапе важно, как система выдает информацию пользователю, как представлена информация на экране, в интерфейсе.
Тут важно все: и шрифты, и расположение данных, и отсутствие отвлекающих факторов. Например, обычный калькулятор в Microsoft Windows. Если бы длинные числа, получаемые в результате вычислений, выводились по умолчанию с разбиением по три символа, насколько проще было бы воспринимать такую информацию!

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



Пример

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



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

Так вы что, и конфеты за меня есть будете?

Какие же ошибки совершает пользователь в программе?

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

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

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

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

Работа над ошибками должна приводить к уменьшению их количества. Тут есть два пути:
•    обучение пользователей и уменьшение количества неоднозначных мест в интерфейсе (неразборчивые, трудночитаемые или малопонятные надписи, маленькие элементы управления, нетрадиционное использование элементов управления и т. д.).
•    создание препятствий к совершению ошибок, то есть блокировка опасных действий пользователя, запрос на подтверждение, проверка действий пользователя перед их принятием. Система должна подсказывать пользователю его следующий шаг. То есть, необходимо уменьшать нагрузку на пользователя и оставлять ему, в основном, задачи проверки, коррекции и подтверждения.

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

Можно, конечно, и зайца научить курить…

Рассмотрим еще один классический пример с известным текстовым редактором. Что делает неопытный пользователь при создании нового документа? Казалось бы, что может быть проще! Человек открывает редактор и набирает текст. Набрав текст и отправив его на печать, он закрывает редактор. Вот тут и начинаются приключения. «Сохранить документ?» — спрашивает пользователя программа. О, ужас! Что такое «сохранить»? Где, зачем, куда сохранить? Хуже того, даже если пользователь внял вопросу, он все равно не может понять, зачем документ сохранять. Как-никак, а документ уже имеется! И самое пугающее: пользователь знает, что если он согласится, то программа выполнит какое-то действие. А вдруг что-нибудь при этом сломается? И пользователь нажимает «нет». Ну и как тут обойтись без обучения?!
Обучение - весьма важная часть внедрения и эксплуатации информационной системы. При этом в интересах компании сделать этот процесс как можно проще, качественнее, дешевле. Но не кроется ли в этом некое противоречие? Разработчик (внедренец) стремится заработать на заказчике побольше денег. А, следовательно – не заинтересован в том, чтобы предоставлять пользователю интуитивно понятные интерфейсы. Ведь чем выше usability интерфейсов, тем проще (и дешевле) обходится обучение пользователей.
Обучить пользователя работе со сложными интерфейсами можно двумя способами. Первый - сделать так, чтобы, не вдаваясь в подробности, человек знал, что нужно делать. Именно так: не понимал, а знал. Пользователь как бы выполняет некий ритуал. Он нажимает кнопку «сохранить» в качестве некой жертвы Великому Богу Компьютера.
Второй способ - объяснить пользователю, как устроен компьютер, зачем и в каких случаях нужно сохранять, куда сохраняется файл, что вообще такое файл и еще много, много, много всяких разных (абсолютно ненужных в быту) подробностей. В этом случае пользователь еще раз удостоверится, что тот, кто придумал компьютер — полный идиот (зачем все делать так сложно!), но все-таки проникнется необходимостью и научится сохранять файлы.
Чтобы упростить обучение, необходимо, чтобы интерфейсы вашей информационной системы были как можно ближе к общепринятым популярным стандартам. Скорее всего, тот, кого вы обучаете, уже видел или такой интерфейс, или хотя бы его элементы.
Кроме того, в интерфейсах системы могут применяться элементы, известные пользователю из его повседневной жизни. То есть аналоги того, чем он и так умеет пользоваться. Классический пример на эту тему - проигрыватель звуков. Так сложилось, что вся аудиотехника имеет одни и те же обозначения на кнопках для воспроизведения, паузы, записи, остановки, перемотки вперед и назад. Соответственно при создании программы аналогичного назначения проще всего скопировать уже известную всем маркировку кнопок. Правда, увлекаться этим не стоит. Такие интерфейсные элементы могут применяться только в случае однозначной их трактовки пользователем. Такие элементы должны упрощать, а не усложнять работу.
И еще один очень важный момент - обучающие материалы. Они должны существовать не только на бумаге, но и в программе: в виде всплывающих подсказок, контекстной помощи, советов в пространстве интерфейса.

На дне каждого сердца есть осадок

Обязательный элемент usability — удовлетворение от взаимодействия с системой. Ни один пользователь не способен работать долго с программой, которая его унижает. Тем не менее, такие системы встречаются часто. Виной этому (чаще всего) сообщения об ошибках. Хотя на самом деле почти всегда ошибки не являются огрехами пользователя, а основываются на недостаточной гибкости системы, на нежелании показать пользователю, что может система, а что нет, и на излишней «самоуверенности» системы. Лучший вариант — избегать сообщений об ошибках, изначально предугадывая поведение пользователя и не позволяя ему совершать неверные действия. Например, не давать заполнять числовые поля чем-либо кроме цифр, не показывать возможности системы, которыми пользователь не может и не должен пользоваться. Если все-таки возникает сообщение об ошибке, то оно должно быть не менторским и конструктивным, предлагая пользователю пути и способы исправления этой ошибки.
Кроме того, пользователю будет удобнее и приятнее работать с информационной системой, если она будет настроена под его потребности, под его нужды.

Где начало того конца, которым оканчивается начало?

Несомненно, вопрос о usability интерфейсов информационной системы должен появиться на ранней стадии разработки системы. Еще при проектировании интерфейсов необходимо учитывать цели, задачи и мотивы пользователей. В случаях, когда влиять на разработку системы невозможно, например, при покупке «коробочного» решения, необходимо в критерии выбора включать и usability. Иначе можно получить велосипед, который вроде бы работает, но ездить на нем никто не может. Очень часто usability известных и широко распространенных информационных систем крайне низкое, так как оно приносится в жертву глобальности. Если же ваша компания разрабатывает свое решение, директор по ИТ чаще всего является заказчиком и участвует во внедрении такой системы. И в этом случае он должен активно участвовать в самой разработке.
Достаточно часто можно услышать аргументы разработчиков о том, что «платформа не позволяет», или «это плохо повлияет на производительность системы». Конечно, существуют ограничения среды разработки, которые тяжело или вообще невозможно обойти. Но с точки зрения клиента (да и в целом) мнение разработчика (программиста) об интерфейсе никого не должно волновать. Интерфейс в первую очередь разрабатывается для пользователя, и его удобство гораздо более ценно, чем удобство (лень) разработчика при написании программы.
Также отрицательным фактором при проектировании и создании программного обеспечения может являться непрофессиональное вмешательство со стороны сотрудников вашей же компании. Причем, это могут быть как пользователи, так и руководители компании, в том числе и те, которые никогда не нажмут ни одной кнопки в интерфейсе этого программного продукта. Часто директору по ИТ приходится слышать: «бухгалтер требует, чтобы кнопка «сохранить» размещалась в правом верхнем углу»… Или: «шеф сказал, чтобы фон окошек в программе был корпоративного серо-буро-малинового цвета». Любой интерфейс в первую очередь должен быть направлен на решение конкретной задачи, а соответственно — понятным и простым для пользователя. Причем, не одного конкретного человека, который сейчас выполняет работу в информационной системе, а для некого усредненного пользователя, который будет выполнять задачи при помощи этого интерфейса.

Качество – бесплатно

По мере роста количества и уровня корпоративных информационных систем и расширения программного обеспечения, используемого в компаниях, становится понятно, насколько важно учитывать интересы, цели и мотивы пользователя этих систем и удобство использования ПО. К сожалению, до сих пор в большинстве российских компаний слишком мало внимания уделяется usability интерфейсов — как при разработке, так и при внедрении и эксплуатации ИС.
Видимо, это происходит потому, что мы пока что только изобретаем и разрабатываем решения. Далеко еще не все процессы у нас стандартизированы, и далеко не все, что бы хотелось автоматизировать ИТ-директорам, поддается автоматизации. Мы уделяем больше внимания функциональности информационных систем, тому, какие задачи эти системы решают, отодвинув вопрос о качестве решения на второй план. А usability, согласно Якобу Нильсену, – это «мера качества работы пользователя в некоторой интерактивной среде». Невозможно добиться высокого качества информационной системы, не уделяя должного внимания usability.




Опубликовано 22.12.2009