Читаем Человеческий фактор в программировании полностью

Играет ли это какую-нибудь роль? Какое значение имеет форма пиктограммы или детали копирования с помощью «выбрать-перетащить» (click-and-drag)? Большое. Небольшие ошибки и небольшое раздражение постепенно накапливаются, замедляя работу, а не ускоряя ее. Работа — это то, что некоторые из нас пытаются выполнить, часами просиживая за рабочим столом. Программное обеспечение, которое противоречит человеческим способам мышления и решения задач, неизбежно приводит к росту количества ошибок. Если программа заставляет пользователя выполнять лишние шаги, или думать дважды, или переосмысливать что-либо, то независимо от того, насколько он свыкнется с программой, количество его ошибок будет больше неизбежного минимума. На самом деле эти дополнительные ошибки вовсе не являются человеческими. Они вызваны ошибками в интерфейсе, в программном обеспечении.

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

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

Физическое заблуждение

Еще на заре компьютерной эры, когда проектирование программного обеспечения было связано лишь с обработкой данных, аналитики и программисты поняли горькую истину: простая автоматизация старых ручных методов приводит к созданию плохих систем, являющихся всего лишь неудобными эмуляциями, а не полезными нововведениями. Сегодня у нас есть «объектно-ориентированные интерфейсы» — и что произошло со старыми продуктами Rolodex™? Они переместились с рабочего стола на так называемый «рабочий стол»! Создатели этих бездумных копий ручных систем не учли того факта, что изначально продукты Rolodex™ сами по себе были технологическим прорывом. Они позволили отказать-ся от неудобной технологии индексных карточек, которые, в свою очередь, применялись вместо менее удобных конторских книг. Rolodex™, или DayTimer™, или DayRunner™, которые кажутся весьма полезными, когда вы держите их в руках, становятся просто неудобными и бестолковыми, когда они моделируются на экране.

Все дело в том, что объектная технология испытывает затруднения из-за наивной мифологии. Айвар Джекобсон (Ivar Jacobson), гуру в объектной технологии, отмечает, что наивные объектные модели приводят к программному обеспечению, которое ненадежно в условиях изменяющихся требований и целей. Наивные объектные модели основаны на примитивном поиске программной среды для объектов из «реального мира». Далее поведение объектов отображается в объектных классах. Практика описания поведения с помощью кнопок и пиктограмм, представляющих объекты из реального мира, является не менее наивной и ведет к созданию ненадежных интерфейсов.

Устойчивая архитектура программного обеспечения включает в себя множество компонентов (будь то объектные классы или функциональные модули), которые возникли в ответ на потребности разработчиков. Эти важные компоненты скорее являются частью решения, чем частью задачи. Они должны быть созданы, а не просто найдены среди предметов, разбросанных по комнате во время какой-то глупой «объектной игры». Для разработки хорошей внутренней архитектуры — или хорошей архитектуры интерфейса — необходимо, чтобы программист был думающим индивидуумом, способным решать задачи, а не забавляющимся художником, изображающим «репрезентативную реальность». Вместо наивного закрепления каких-то действий за «дублерами» физических объектов хороший разработчик распределяет свойства и назначение компонентов на основе здравых принципов разработки программного обеспечения. В соответствии с ними связанные функции взаимосвязаны, а несвязанные объекты — разделены.

Перейти на страницу:

Похожие книги

Event-маркетинг. Все об организации и продвижении событий
Event-маркетинг. Все об организации и продвижении событий

Каждый день в России проходят тысячи мероприятий самой разной направленности. Концерты, фестивали, семинары и тренинги, конференции, праздники, вечеринки, онлайн-трансляции. Как их организовывать? Как привлекать на event людей в условиях высокой конкуренции? Как провести мероприятие, чтобы посетители остались довольны? Как получить много новых клиентов в свой бизнес с помощью событий? Книга ответит на эти вопросы.Для кого эта книга?– Для организаторов открытых мероприятий любых форматов.– Для представителей рекламных, PR– и event-агентств.– Для музыкантов и арт-директоров.– Для малого, среднего и крупного бизнеса.Наталия Франкель и Дмитрий Румянцев – создатели и ведущие крупнейшего блога в социальных сетях об event-маркетинге. Организаторы sold out-конференций и фестивалей: «Суровый питерский SMM», «Найди свой трафик», SOLD OUT, VideoDays, SMM-десант, «Детский Петербург» и других.

Дмитрий Владимирович Румянцев , Наталия Франкель

Маркетинг, PR
Структурирование хаоса
Структурирование хаоса

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

Юрий Наврузов

Маркетинг, PR / Управление, подбор персонала / Финансы и бизнес
Анализируй этих! Полное руководство по подбору персонала
Анализируй этих! Полное руководство по подбору персонала

«Кадры решают всё!» Подбор персонала – основа любого успешного бизнеса, это сложное занятие, требующее высокого профессионализма. Если рекрутер совершит ошибку, неподходящие кандидаты никогда не станут успешными сотрудниками, а компания не будет эффективной.Прочитав эту книгу, можно получить ответы на множество вопросов, таких как:– Как определить потребность в персонале?– Где и как искать подходящих кандидатов?– Как оценить кандидата в процессе собеседования?Вы сможете подробно изучить все этапы подбора персонала и выстроить собственную стратегию профессионального рекрутинга. Структурированно изложенный материал позволит изучить весь процесс подбора персонала от А до Я, поможет применять свои знания на практике.Автор книги, директор по персоналу крупной транспортной компании, проработала в сфере управления персоналом много лет, провела тысячи собеседований, закрыла сотни вакансий разных уровней и направлений – ее опыт просто бесценен!Вам больше не понадобится дополнительная литература – в этой книге вы найдете ВСЁ необходимое!

Наталья Юрьевна Добровольская

Маркетинг, PR