Психбольница в руках пациентов
Шрифт:
Противопоставление целей и задач встречается сплошь и рядом. Если президент желает, чтобы за океаном наступил мир, он посылает пехотинцев, вооруженных автоматами, самолетами, бомбами. Его задача – война. Его цель – мир. Когда адвокат корпорации желает избежать конфликта с коллегой, то вступает в прения о положениях контракта. Цель адвоката согласие, а задача – спор.
Цель – стабильная сущность. Задачи преходящи. Вот одна из причин, по которой проектирование под задачи не всегда уместно, а проектирование
Программисты занимаются проектированием, ориентированным на задачи
Очень многие разработчики начинают проектирование с вопроса: «Каковы задачи?». Такой подход дает возможность сделать работу, но не позволяет даже приблизиться к наилучшему решению, а также совершенно не удовлетворяет пользователя. Проектирование, ориентированное на задачи вместо целей, – вот одна из основных причин раздражающего и неэффективного взаимодействия. Вопрос «каковы цели пользователя?» позволяет нам смотреть через незамутненное стекло и создавать более качественный и уместный дизайн.
Компьютерное программирование, если добраться до сути, – это создание подробных пошаговых описаний процедур. Процедура есть рецепт решения задачи. Хорошие программисты по необходимости имеют процедурный взгляд на вещи, взгляд, ориентированный на решение задач. В конечном итоге, для достижения целей пользователя задачи необходимо решать, однако существуют различные акценты и различные последовательности выполнения задач. Лишь некоторые из последовательности удовлетворяют личным целям пользователя.
Проектирование, ориентированное на цели
Когда для решения поставленных проблем проектировщики взаимодействия анализируют цели, они обычно находят совсем иные, более подходящие решения.
Цель Дженнифер, офис-менеджера небольшой компании, – сделать так, чтобы дела в офисе шли гладко. Разумеется, она не хочет ни чувствовать себя глупо, ни совершать ошибки. С этой целью она должна обеспечить бесперебойную работу компьютерной сети. Требуется, во-первых, правильно настроить сеть, во-вторых, наблюдать за работой сети и, в-третьих, периодически изменять конфигурацию сети для поддержания максимальной производительности. В представлении Дженнифер ее работа состоит в интеграции всех трех задач для достижения цели – гладкой работы офиса. С точки зрения Дженнифер эти три задачи действительно не существуют обособленно. Она не видит большой разницы между изначальной настройкой сети и последующей сменой конфигурации.
А теперь обратимся к Клэнси, разработчику программного обеспечения, перед которым стоит задача создать программу для Дженнифер. В присущем Клэнси представлении хомо логикус программа решает три задачи (имеет три функции) – под каждую задачу будет отведен отдельный программный модуль. Клэнси кажется естественным, что для каждой из функций отведен собственный участок интерфейса. Ведь это логично. Клэнси думает об интерфейсе, содержащем иерархический список системных компонентов в левой части, а в правой части – информацию о выбранном элементе иерархического списка. Такой интерфейс обладает одним преимуществом – он утвержден компанией Microsoft, а потому кажется программистам разумным. Пользователю придется прощелкать множество системных компонентов, чтобы понять, что происходит с системой, однако вся нужная информация ему доступна только по специальному запросу.
На сцену выходит Уэйн, проектировщик взаимодействия, которому поручено осчастливить и Дженнифер и Клэнси. Обладая сознанием проектировщика, Уэйн понимает, что программа должна предстать перед Дженнифер в виде, наиболее точно соответствующем ее целям, и при этом содержать всю необходимую функциональность (здесь
Уэйну понятно, что у Дженнифер только одна цель – работа без сбоев, и он проектирует интерфейс, позволяющий Дженнифер с одного взгляда увидеть, что все гладко. Если где-то возникает узкое место, интерфейс четко обозначает эту точку сети наглядным способом, так, что она бросается в глаза, и это позволяет Дженнифер исследовать и разрешить проблему, взаимодействуя непосредственно с экранным представлением той области, где эта проблема возникла. Уэйн знает, что для Дженнифер нет разницы между наблюдением за системой и ее настройкой, поэтому интерфейс должен отражать данные ожидания. Ей приходится взаимодействовать с системой в единственном случае – когда она точно знает, что для этого есть причины.
С точки зрения Клэнси, код для отображения производительности компонентов сети и код для настройки этих компонентов – это две различные процедуры. В мышлении, ориентированном на задачи, они не связаны одна с другой. Однако в мышлении, ориентированном на цели, они связаны неразрывно. Дженнифер никогда не займется переконфигурированием, если у нее не будет для этого веской причины, например, может снизиться производительность. Более того, Дженнифер и в процессе переконфигурирования будет внимательно следить за производительностью.
Проектирование для удовлетворения целей персонажа пользователя ясно показывает альтернативный подход к предоставлению функциональности. Часто такой подход дает качественно лучшие способы решения прозаических проблем проектирования. Вот некоторые примеры.
Целеориентированные телевизионные новости
В одном из наших проектов клиент работал над семейством приложений для поддержки процесса создания передачи теленовостей. С точки зрения инженера, мыслящего в терминах задач, такие передачи создаются так же, как строятся мосты – всю передачу делают за один прием. Но мы установили, что у ведущих новостей нет цели «создавать» передачу в течение какого-то времени, у них, скорее, есть цель всегда иметь в наличии передачу, которая со временем только улучшается. Каждая передача новостей – это живое существо, очень гибкое и органичное, всю свою жизнь проводящее во взрослом состоянии.
В новостном бизнесе случается всякое, поэтому ведущий всегда желает иметь место для отступления. Его цель – всегда иметь разумную передачу, которую не стыдно выпустить в эфир. Вечерние новости появляются утром в виде полноценной, готовой к передаче в эфир записи. Эта запись длительностью 22 минуты (не считая рекламных вставок) всегда находится в состоянии полной готовности. Под каждое направление новостей отведено определенное время, и в сумме все сюжеты всегда имеют продолжительность 22 минуты. Здесь можно провести аналогию с подстройкой фокуса размытого изображения: границы новостной передачи никогда не меняются, а вот содержимое становится более точным и выдержанным по мере настройки. Начиная с 10 утра передача готова к выходу в эфир в любой момент, однако лучше всего выйти в эфир приблизительно в 5 часов вечера.
Каждая передача состоит из 20-30 сюжетов, переполненных заставками видеоклипами, репортажами и интервью. В течение утра приоритеты сюжетов изменяются, как изменяется порядок показа и отведенное под сюжеты время, отражая взгляды руководителя передачи. В начале второй половины дня внимания могут потребовать последние известия, изменяя порядок следования других сюжетов и, вероятно, даже исключая некоторые сюжеты из программы. Корреспонденты и режиссер будут вносить исправления и изменения в сценарий до последней секунды, иногда до самого начала эфира.