- •Алан Купер Психбольница в руках пациентов
- •Содержание
- •Часть I. Компьютерная безграмотность 27
- •Глава 1. Загадки века информации 27
- •Глава 2. Когнитивное сопротивление 44
- •Часть II. Масштабные издержки 68
- •Глава 3. Пустая трата денег 68
- •Глава 4. Танцующий медведь 89
- •Об авторе
- •Благодарности
- •Предисловие научного редактора
- •Предисловие
- •Введение Книга-обоснование
- •Инженер, сведущий в бизнесе, либо бизнесмен, сведущий в технологии
- •ЧастьI. Компьютерная безграмотность Глава 1. Загадки века информации Что получится, если скрестить компьютер с самолетом?
- •Что получится, если скрестить компьютер с фотокамерой?
- •Что получится, если скрестить компьютер с будильником?
- •Что получится, если скрестить компьютер с автомобилем?
- •Что получится, если скрестить компьютер с банком?
- •Компьютер позволяет легко попасть в беду
- •Коммерческое программное обеспечение тоже страдает
- •Что получится, если скрестить компьютер с военным кораблем?
- •Техноярость
- •Индустрия в «несознанке»
- •Мотивы создания этой книги
- •Глава 2. Когнитивное сопротивление
- •Поведение, не связанное с физическими силами
- •Проектирование1- слово емкое
- •Отношения между программистами и проектировщиками
- •Большинство программ проектируются случайным образом
- •Проектирование «взаимодействия» против проектирования «интерфейса»
- •Отличительные черты продуктов, основанных на программном обеспечении
- •Танцующий медведь
- •Стоимость дополнительных возможностей программного обеспечения
- •Апологеты и уцелевшие
- •Наша реакция на когнитивное сопротивление
- •Демократизация власти потребителя
- •Виноват пользователь
- •Программный апартеид
- •ЧастьIi. Масштабные издержки Глава 3. Пустая трата денег
- •Управление, ориентированное на крайние сроки сдачи
- •Что такое «готово»?
- •Закон Паркинсона
- •Продукт, вечно не готовый к выпуску
- •Поздний выпуск - не беда
- •Торг за набор функций
- •Кто главный? Программисты
- •Возможности не всегда нужны
- •Итерации и миф о непредсказуемости рынка
- •Скрытые издержки некачественного программного обеспечения
- •Дороже разработки по обходится только разработка плохого по
- •Стоимость возможностей
- •Издержки прототипирования
- •Глава 4. Танцующий медведь
- •Если это проблема, то почему ее до сих пор не решили?
- •Жертва бытовой электроники
- •Чем плохи почтовые клиенты
- •Чем плохи программы для планирования
- •Чем плохи календари
- •Массовая веб-истерия
- •Что не так с программным обеспечением?
- •Программы забывают
- •Программы ленивы
- •Программы скупы на информацию
- •Программы не гибки
- •Программы возлагают вину на пользователей
- •Программы не несут ответственности
- •Глава 5. Нелояльность клиентов
- •Привлекательность
- •Одно сравнение
- •Время выхода на рынок
- •ЧастьIii. Как есть суп вилкой Глава 6. Психбольница в руках пациентов
- •Вождение на заднем сиденье
- •Подготовка катастрофы
- •Компьютеры против людей
- •Учим собак быть кошками
- •Глава 7. НоmoLogicus
- •Авиационный тест
- •Психология программистов
- •Программисты пожертвуют простотой ради контроля
- •Программисты обменяют успех на понимание
- •Программисты сосредотачиваются на исключительных ситуациях
- •Программисты ведут себя грубо и прямолинейно
- •Глава 8. Отмирающая культура
- •Культура программирования
- •Повторное использование кода
- •Общепринятая культура
- •Культура программирования в Мicrоsоft
- •Культурная изоляция
- •Шкурный интерес
- •Дефицитный образ мыслей
- •Обесчеловечивает процесс, а не технология
Дефицитный образ мыслей
Проектирование программного обеспечения находится под влиянием фактора, который я называю «дефицитным мышлением». На создание этого фактора работают две силы. Новизна индустрии программного обеспечения широко известна, однако именно эта молодость противодействует самоанализу. Мы слишком заняты ассимиляцией новых технологий, чтобы задумываться о недоразумениях, окружающих более старые, Как следствие, индустрия программного обеспечения переполнена мифами и недоразумениями, которые никто не ставит под сомнение.
Изумительно, но простой и очевидный факт, что компьютеры сегодня намного мощнее, дешевле и быстрее, чем всего несколько лет назад, не осознан до конца практиками разработки программ. Поэтому большинство приложений не слишком усердны в обслуживании пользователей. Наоборот, приложения встают стеной на защиту центрального процессора из-за ошибочного тезиса, гласящего, что он перегружен работой. В результате программные продукты перегружают работой пользователей. Идеолог проектирования Билл Могридж (Вill Moggridge) так говорит об этом подходе: «Будь добр к микросхемам и жесток к пользователю».
За последнее десятилетие невероятный прогресс в области компьютерной техники сделал обычным явлением мощнейшие настольные компьютеры по доступным ценам. Любой студент и любая домохозяйка могут обладать мощью, которой в 1974 году позавидовал бы центр обработки данных компании General Motors. И при всем том для создания программ сегодня в большинстве случаев применяются инструменты, технологии, методы и умонастроения, основанные на дефицитном мышлении. Разработчики привыкли задаваться вопросом: «'Уложимся ли? Будет ли реакция достаточно быстрой? Какую некритичную функциональность мы можем исключить, чтобы сделать программу более эффективной? » Из рассмотрения исключаются вопросы, имеющие большее отношение к делу: «Поймет ли пользователь? Можем ли мы представить информацию в осмысленном виде? Подходит ли этот набор инструкций для целей пользователя? Какая информация является для пользователя первоочередной? »
За некоторыми исключениями, процессоры компьютеров про водят подавляющее большинство времени в бездействии. Да, некоторые процессы требуют интенсивных вычислений, но проистекают совсем не так часто, как нас убеждают создатели аппаратного обеспечения, желающие продавать нам самые новые, и самые замечательные, и самые мощные чудеса электроники. Вряд ли в их интересах, чтобы потребитель знал, что его процессор сильно нагружен лишь на очень коротких дистанциях, а 75-80% времени просто бездействует.
Всего два или три десятилетия тому назад компьютеры были настолько слабыми и настолько дорогими, что любая хорошая идея неминуемо наталкивалась на недостаточную мощность головной машины. Главным вектором развития информатики в те времена стала разработка технологий, снижающих нагрузку на дефицитные вычислительные ресурсы. Такие широко распространенные технологии, как реляционные базы данных, коды АSСII, файловые системы, язык BASIC создавались в основном для того, чтобы снизить нагрузку на компьютер. Программы, написанные в те времена, отдавали приоритет производительности в ущерб другим соображениям, таким как простота применения. Однако уже написанный код неистребим, как сама природа, и многие строки этого старого кода, написанного для старых компьютеров, сегодня работают на современных, невероятно мощных системах.