Алан Купер - Психбольница в руках пациентов
Изменения произойдут только тогда, когда люди, принимающие участие в процессе и способные повлиять на ранние стадии развития продуктов, заинтересуются решением этой проблемы. Программисты вовлечены в конфликт интересов, а потому мой призыв адресован апологетам в самом сердце этой индустрии высоких технологий. Современные бизнесмены вовлечены в жизнь этой индустрии, хотят они того или нет. Вряд ли еще остались в мире предприятия, не вставшие на путь внедрения информационных технологий.
Ни один из современных нам продуктов, основанных на программном обеспечении, не способен дать мощь и удовольствие от применения людям, не входящим в число одержимых технологией. Инженерное же сообщество просто сообщает, что пользователям придется получить «компьютерное образование». Полагаю, в историю эта фраза войдет наравне со знаменитым и снисходительным: «Почему они не едят пирожных?» Марии-Антуанетты. Французская революция дала народу хлеб, а грядущая революция проектирования даст народу технологию.
Изменить процесс
Большинство разработчиков программного обеспечения и технических руководителей делают то, что делают, потому что верят в процесс, однако при этом не считают процесс догмой. В них достаточно прагматизма, чтобы принять изменения, когда они увидят, насколько эффективно проектирование взаимодействия. По моим наблюдениям, наглядная демонстрация выгод проектирования вызывает у этих людей желание интегрировать проектирование в процесс разработки.
Разработчики программного обеспечения известны способностью менять свои убеждения. Конечно, они инженеры, их мышление навсегда останется инженерным, однако они воспринимают новые (и даже контрастирующие) подходы, если доказана эффективность этих подходов.
Двадцать лет назад в бизнесе программирования считалось нормальным, что разработчики самостоятельно тестировали свой код. Более того, программист мог естественным образом предполагать, что только он сам способен достаточно надежно протестировать собственный код, только он сам может знать обо всех слабых местах и пыльных углах, куда следует заглянуть.
Удивительно, но факт: в те времена все знали, что программисты, хотя им и приходилось заниматься тестированием, как один ненавидели это занятие и сожалели о потраченном на него времени и силах. Однако программисты выполняли работу по тестированию, поскольку честно верили в свою роль в процессе, как и в необходимость агрессивного тестирования.
В последние два десятилетия все в этой индустрии постепенно осознали, что эту часть работы могут выполнять подразделения профессиональных тестеров, освобождая от нее программистов. Поначалу программисты отнеслись к идее скептически, но затем оценили ее. Тестерам же, к нескончаемому удивлению большинства программистов, действительно нравилось тестирование. Они получали удовольствие, создавая новые и еще более изощренные инструменты для испытания продуктов, находя слабые места и пробелы, тестируя специальные и вероятные случаи. Конечно же, скрупулезное изучение продукта профессиональными тестерами намного лучше. Программисты обнаружили, что не просто избавились от большой и неприятной составляющей своей работы; теперь эта работа выполнялась более надежно, своевременно, более продуманно и организованно. Современная доктрина разработки программного обеспечения гласит, что правильное отношение числа тестировщиков к числу программистов – один к одному. Сегодня уже не найти программиста, который настаивал бы, что является лучшим тестером своего кода.
Мы увидим подобный постепенный переход, когда проектирование взаимодействия станет частью процесса разработки. Наибольшие дивиденды получат те последователи проектирования, которые раньше других начнут применять этот подход.
Цели у разработчиков программного обеспечения и проектировщиков взаимодействия общие: и те и другие хотят, чтобы продукт стал успешным. Просто их инструменты и термины для измерения успеха коренным образом различаются.
Если у программиста нет убедительных доказательств, он всегда отступает под защиту своей подготовки, опыта, интуиции. Интуиция подсказывает, что функций должно быть как можно больше. Опыт подсказывает, что нельзя позволять дилетантам вмешиваться в чувствительный, сложный, тонкий процесс разработки со всякими причудами и догадками. Подготовка подсказывает, что интерфейсы следует конструировать, основываясь на своих представлениях.
Проектировщик взаимодействия не может прямо критиковать эти мотивы. Разработчики мыслят слишком рационально, чтобы променять свой опыт на чужое мнение. Проектировщик должен показать им новый взгляд на проблему, должен показать им, что этот взгляд эффективен и совместим с уже существующими идеями.
Независимо от твердости позиции проектировщика взаимодействий, весьма маловероятно, что он обладает лучшим пониманием внутреннего устройства программы, чем программист. Иными словами, он не может смотреть на проблему глазами программиста. Чтобы добиться успеха, он должен иметь другую точку зрения.
Точность и полнота проектировочной спецификации – вот точка соприкосновения проектировщиков и программистов. Когда проектировщики дают абсолютно верные решения, программисты начинают доверять и полагаться на них.
* * *В одном из номеров еженедельника «Business Week»45 за 1998 год ведущий колонки Стивен Уайлдстром поднял тему раздраженных пользователей компьютеров. Ответы читателей поразили его полярностью мнений, их количеством, накалом страстей. Он сделал вывод:
У компьютерной индустрии множество озадаченных, раздраженных, несчастных клиентов. Это гораздо более серьезная угроза благосостоянию сектора высоких технологий, чем азиатский кризис, ошибка двухтысячного года и большинство других угроз.
Он процитировал весьма знакомые нам болезненные жалобы уцелевших: «Моя машина заставляет меня думать, что я идиот!» и такие же знакомые вопли апологетов: «Пользователи не знают, чего хотят, а когда знают, то каждый хочет своего. Пусть лучше читают руководства и изучают программы». Стивен завершил колонку так:
В этих излияниях чувств кое-кого не хватает. Мне написали инженеры, программисты, гуру юзабилити. Однако проектировщики продуктов и маркетологи, принимающие ключевые решения по аппаратной и программной части, подозрительно промолчали. Да у вас тут полно злых клиентов. Как вы собираетесь отвечать?
И действительно, как вы собираетесь отвечать?
Примечания
1
Компания Cooper Interaction Design.
2
Aegis (англ. эгида) интегрирует системы обнаружения и боевые системы корабля с целью противостояния ракетным атакам. – Прим. перев.
3
Честер Нимиц, командующий Тихоокеанским флотом США во время Второй мировой войны. – Прим. перев.
4
В компьютерной индустрии термин «разработчик программного обеспечения» употребляется в качестве синонима термина «программист»; то же самое делаю и я в этой книге.
5
«About Face: The Essentials of User Interface Design» (О лице: основы проектирования пользовательского интерфейса), IDG Books, Foster City CA, 1995, http:/www.cooper.com/about/face/about_about_face.html.
6
В оригинале употребляется слово design, обозначающее, в том числе, процесс проектирования программных продуктов. – Примеч. науч. ред.
7
Мне много раз говорили, что среди женщин эта функция пользуется спросом – как сдерживающее средство, помогающее противостоять преступникам на темных парковках, однако всякий раз это говорил технически подготовленный мужчина, который сам никогда не воспользовался бы этой кнопкой. К своему большому удивлению, недавно я прочел в Wall Street Journal о настоящем применении кнопки паники. В Йосемитском национальном парке дикий медведь пристал к одной семье на кемпинге. Он принялся тормошить автомобиль, пытаясь добраться до запертой внутри еды. Мать семейства нажала на кнопку паники, и сирена в конечном итоге отпугнула медведя. Возможно, имеет смысл назвать эту маленькую кнопку «Репеллент от медведей».
8
Специалист по юзабилити (usability professional), или эргономист, и проектировщик взаимодействия (interaction designer) – разные люди. Подробно о различиях рассказано в главе 12 «В отчаянных поисках эргономики».
9
Мы говорили, что хотим сделать «объединение в сети компьютеров Intel/Windows столь же простым, как объединение в сети компьютеров Macintosh». В то время Mac’и до смешного просто объединялись в сети посредством протокола AppleTalk. Тогда, как и сегодня, объединять ПК Wintel в сети было трудно.