Психбольница в руках пациентов
Добавить в закладки К обложке
- Отзывы на книгу Алана Купера - Страница 1
- Об авторе - Страница 3
- Благодарности - Страница 4
- Предисловие научного редактора - Страница 6
- Предисловие - Страница 8
- Введение - Страница 9
- Инженер, сведущий в бизнесе, либо бизнесмен, сведущий в технологии - Страница 10
- Часть IКомпьютерная безграмотность - Страница 18
- Что получится, если скрестить компьютер с фотокамерой? - Страница 19
- Что получится, если скрестить компьютер с будильником? - Страница 20
- Что получится, если скрестить компьютер с автомобилем? - Страница 21
- Что получится, если скрестить компьютер с банком? - Страница 22
- Компьютер позволяет легко попасть в беду - Страница 23
- Коммерческое программное обеспечение тоже страдает - Страница 25
- Что получится, если скрестить компьютер с военным кораблем? - Страница 26
- Техноярость - Страница 27
- Индустрия в «несознанке» - Страница 28
- Мотивы создания этой книги - Страница 29
- Глава 2Когнитивное сопротивление - Страница 31
- Поведение, не связанное с физическими силами - Страница 32
- Проектирование6 – слово емкое - Страница 33
- Отношения между программистами и проектировщиками - Страница 34
- Большинство программ проектируются случайным образом - Страница 35
- Проектирование «взаимодействия» против проектирования «интерфейса» - Страница 36
- Отличительные черты продуктов, основанных на программном обеспечении - Страница 37
- Танцующий медведь - Страница 39
- Стоимость дополнительных возможностей программного обеспечения - Страница 40
- Апологеты и уцелевшие - Страница 42
- Наша реакция на когнитивное сопротивление - Страница 44
- Демократизация власти потребителя - Страница 45
- Виноват пользователь - Страница 46
- Программный апартеид - Страница 47
- Часть IIМасштабные издержки - Страница 49
- Управление, ориентированное на крайние сроки сдачи - Страница 50
- Что такое «готово»? - Страница 51
- Закон Паркинсона - Страница 52
- Продукт, вечно не готовый к выпуску - Страница 53
- Поздний выпуск – не беда - Страница 54
- Торг за набор функций - Страница 55
- Кто главный? Программисты - Страница 56
- Возможности не всегда нужны - Страница 57
- Итерации и миф о непредсказуемости рынка - Страница 58
- Скрытые издержки некачественного программного обеспечения - Страница 60
- Дороже разработки ПО обходится только разработка плохого ПО - Страница 61
- Стоимость возможностей - Страница 62
- Издержки прототипирования - Страница 63
- Глава 4Танцующий медведь - Страница 66
- Если это проблема, то почему ее до сих пор не решили? - Страница 67
- Жертва бытовой электроники - Страница 68
- Чем плохи почтовые клиенты - Страница 69
- Чем плохи программы для планирования - Страница 70
- Чем плохи календари - Страница 71
- Массовая веб-истерия - Страница 72
- Что не так с программным обеспечением? - Страница 73
- Программы забывают - Страница 74
- Программы ленивы - Страница 75
- Программы скупы на информацию - Страница 76
- Программы не гибки - Страница 77
- Программы возлагают вину на пользователей - Страница 78
- Программы не несут ответственности - Страница 79
- Глава 5Нелояльность клиентов - Страница 80
- Привлекательность - Страница 81
- Одно сравнение - Страница 83
- Время выхода на рынок - Страница 85
- Часть IIIКак есть суп вилкой - Страница 86
- Вождение на заднем сиденье - Страница 87
- Подготовка катастрофы - Страница 89
- Компьютеры против людей - Страница 92
- Учим собак быть кошками - Страница 93
- Глава 7Ноmo Logicus - Страница 96
- Авиационный тест - Страница 97
- Психология программистов - Страница 98
- Программисты пожертвуют простотой ради контроля - Страница 99
- Программисты обменяют успех на понимание - Страница 100
- Программисты сосредотачиваются на исключительных ситуациях - Страница 101
- Программисты ведут себя грубо и прямолинейно - Страница 103
- Глава 8Отмирающая культура - Страница 105
- Культура программирования - Страница 106
- Повторное использование кода - Страница 107
- Общепринятая культура - Страница 109
- Культура программирования в Мicrоsоft - Страница 110
- Культурная изоляция - Страница 113
- Шкурный интерес - Страница 114
- Дефицитный образ мыслей - Страница 116
- Обесчеловечивает процесс, а не технология - Страница 117
- Часть IVПроектирование взаимодействия – выгодный бизнес - Страница 118
- Персонажи - Страница 119
- Проектируйте для одного персонажа - Страница 120
- Чемодан на колесиках и клейкие бумажки - Страница 121
- Гуттаперчевый пользователь - Страница 122
- Персонаж должен быть конкретным - Страница 123
- Персонаж должен быть воображаемым - Страница 124
- Описание должно быть подробным, а не идеальным - Страница 125
- Реалистичный взгляд на уровень подготовленности - Страница 126
- Персонажи закрывают споры о функциях - Страница 127
- Персонажи нужны проектировщикам и программистам - Страница 128
- Персонаж пользователя, а не покупателя - Страница 129
- Подбор персонажей - Страница 130
- Ключевые персонажи - Страница 131
- Пример: Sony Trans Соm и P@ssport - Страница 132
- Традиционное решение - Страница 133
- Персонажи - Страница 134
- Проектирование для Клевиса - Страница 136
- Глава 10Проектирование ради результата - Страница 138
- Мы решаем задачи, чтобы достичь целей - Страница 139
- Задачи не являются целями - Страница 140
- Программисты занимаются проектированием, ориентированным на задачи - Страница 141
- Проектирование, ориентированное на цели - Страница 142
- Целеориентированные телевизионные новости - Страница 143
- Целеориентированное управление классом - Страница 144
- Цели личные и цели практические - Страница 145
- Принцип соразмерности усилий - Страница 146
- Личные цели - Страница 147
- Корпоративные цели - Страница 148
- Практические цели - Страница 149
- Ложные цели - Страница 150
- И у компьютера есть человеческие черты - Страница 151
- Проектирование и вежливость - Страница 152
- Что такое вежливость? - Страница 153
- Что делает программы вежливыми? - Страница 154
- Вежливая программа интересуется мной - Страница 155
- Вежливая программа относится ко мне уважительно - Страница 156
- Вежливая программа обходительна - Страница 157
- Вежливая программа ведет себя разумно - Страница 158
- Вежливая программа предвидит мои потребности - Страница 159
- Вежливая программа отзывчива - Страница 160
- Вежливая программа не склонна делиться своими личными проблемами - Страница 161
- Вежливая программа в курсе происходящего - Страница 162
- Вежливая программа проницательна - Страница 163
- Вежливая программа уверена в себе - Страница 164
- Вежливая программа всегда сосредоточена - Страница 165
- Вежливая программа покладиста - Страница 166
- Вежливая программа дает мгновенное удовлетворение - Страница 168
- Вежливой программе можно доверять - Страница 169
- Пример: Drumbeat от Elemental - Страница 170
- Расследование - Страница 171
- Кто кому служит - Страница 172
- Проектирование - Страница 173
- Откат - Страница 174
- Прочие моменты - Страница 175
- Глава 11Проектирование для людей - Страница 176
- Сценарии - Страница 177
- Повседневные сценарии - Страница 178
- Обязательные сценарии - Страница 179
- Сценарии исключительных ситуаций - Страница 180
- Адаптирующийся интерфейс - Страница 181
- Вечные середняки - Страница 182
- Представь себе! - Страница 184
- Словарь - Страница 185
- Языковой прорыв - Страница 186
- Реальность смеется последней - Страница 187
- Пример: Logitech Scanman - Страница 188
- Малкольм, боец фронта Всемирной паутины - Страница 189
- Чед Марчетти, мальчик - Страница 190
- DPI Магнум - Страница 191
- Игра «Представь себе!» - Страница 192
- Высококлассная обрезка - Страница 193
- Высококлассное изменение размеров - Страница 194
- Высококлассный поворот изображения - Страница 195
- Первоклассные результаты - Страница 196
- Преодоление разрыва между устройствами и программами - Страница 197
- Меньше значит больше - Страница 198
- Часть VВозвращаемся на место водителя - Страница 200
- Последовательность - Страница 201
- Юзабилити-тестирование - Страница 202
- Юзабилити-тестирование до программирования - Страница 203
- Интеграция юзабилити-тестирования в процесс проектирования - Страница 204
- Многопрофильные команды - Страница 205
- Проектирующие программисты - Страница 206
- Откуда вы знаете? - Страница 207
- Руководства по стилю - Страница 208
- Конфликт интересов - Страница 209
- Фокус-группы - Страница 210
- Визуальное проектирование - Страница 211
- Промышленный дизайн - Страница 212
- Классная новая технология - Страница 213
- Итерации - Страница 214
- Глава 13Управляемый процесс - Страница 215
- Кто на самом деле самый влиятельный? - Страница 216
- Смертельная спираль: на поводу у клиента - Страница 217
- Концептуальная целостность – важное достоинство - Страница 218
- Фаустова сделка - Страница 219
- Прогнозирование - Страница 220
- Принятие ответственности - Страница 221
- Затраты времени - Страница 222
- Удержание управления - Страница 223
- Поиск основы - Страница 224
- Семь раз отмерь - Страница 225
- Производство фильмов - Страница 226
- Хорошая сделка - Страница 228
- Документируйте замысел, чтобы дать ему жизнь - Страница 229
- Проектирование влияет на код - Страница 230
- Проектировочные документы приносят пользу программистам - Страница 231
- Проектировочные документы идут на пользу маркетингу - Страница 232
- Проектировочные документы помогают в разработке документации и технической поддержке - Страница 233
- Проектировочные документы помогают руководителям - Страница 234
- Проектировочные документы выгодны компании в целом - Страница 235
- Кто отвечает за качество продукта? - Страница 236
- Включение проектирования в процесс - Страница 237
- Откуда берутся проектировщики взаимодействия - Страница 238
- Создание команд проектировщиков - Страница 239
- Глава 14Мощь и удовольствие - Страница 240
- Пример налаженного проекта - Страница 241
- Осознанное проектирование взаимодействия - Страница 243
- Польза от перемен - Страница 244
- Почему они не едят пирожных? - Страница 245
- Изменить процесс - Страница 247
Прототипы по своей природе представляют собой программы, создаваемые в спешке и позволяющие проверить некоторые предположения. Чтобы быстро создать прототип, программист должен пожертвовать идеальным выравниванием кирпичей. Здесь не используются «правильные» структуры данных, информация бессистемна. Здесь не используются «правильные» алгоритмы, но используются любые подвернувшиеся фрагменты кода. Прототип начинает существование как масса рубцовой ткани. Он не может вырасти очень большим.
Некоторые разработчики пришли к прискорбному выводу, что современные инструменты для быстрого создания прототипов, такие как Visual Basic, представляют собой эффективные инструменты проектирования. Вместо того, чтобы заняться проектированием продукта, они наскоро создают крайне бледную версию продукта при помощи инструмента визуального программирования. Этот прототип, как правило, становится фундаментам продукта. Ради иллюзорных выгод в жертву приносится надежность продукта и продолжительность его жизни. Карандаш, лист бумаги и хорошая методология позволяют лучше спроектировать продукт, чем любое количество прототипов.
Для людей, не являющихся проектировщиками, визуализация формы еще не существующей программы затруднительна, а часто и невозможна. Для этих деловых людей прототипы исполняют роль инструмента визуализации. Поскольку прототип – это приближенная модель, созданная на основе существующих и доступных на момент разработки инструментов, он по определению полон временных компромиссов. Однако работающая программа, независимо от того, насколько плохо она работает, производит мощнейшее впечатление на тех, кому придется платить за ее разработку. Движущийся, пусть и хромающий, прототип обладает опасной силой, не соответствующей своей действительной ценности.
Силен соблазн руководителя сказать: «Не выбрасывайте прототип, используем его как фундамент настоящего продукта». Такое решение часто, в конечном итоге, препятствует появлению продукта на рынке. Программисты оказываются приговоренными к постоянной реанимации программы, дающей по мере своего развития смертоносные сбои. Это башня из кирпичей, где первые 25 кирпичей положили наудачу: независимо от того, насколько точно вы кладете все последующие кирпичи, насколько тщательно работает каменщик, насколько крепко держит строительный раствор, сила гравитации неизбежно разрушит башню где-то на пятидесятом уровне.
Ценность прототипа в знаниях, приобретенных в процессе его создания, а совсем не в коде. Мудрый разработчик Фредерик Брукс говорит: «Планируйте выбросить одну версию». Так или иначе, вы ее выбросите, так почему не запланировать это событие с самого начала?
В 1988 году я продал Биллу Гейтсу программу под названием Ruby, представлявшую собой язык визуального программирования, который в сочетании с продуктом Билла QuickBasic стал средой Visual Basic. Ruby была просто прототипом, но демонстрировала некоторые значительные новшества в подходе и технологии (при первом знакомстве с Ruby Билл спросил: «Как ты это сделал?»). Проектом Ruby стал заниматься тогдашний руководитель разработки Windows 3.0 Расс Вернер. По договору я должен был завершить разработку Ruby и представить полноценный продукт. Первое, что я сделал, – выбросил прототип и начал все с нуля, не имея ничего, кроме знаний и опыта. Когда Расс узнал об этом, он пришел в изумление, ярость и негодование. Он никогда не слышал о столь возмутительных действиях и выражал убежденность, что отказ от прототипа задержит выпуск продукта. Но это был уже свершившийся факт, и, несмотря на страхи Расса, мы сдали золотую мастер-копию в срок. После интеграции с языком Basic запуск среды VB стал одним из самых успешных для Microsoft. Windows 3.0, напротив, задержалась более чем на год и впоследствии пользовалась дурной славой из-за большого объема рудиментарного кода, унаследованного из прототипа.
В целом, далекие от технологии руководители ошибочно ценят завершенный код, независимо от его надежности, гораздо выше, чем замысел, или мнение тех, кто этот код писал. Коллега Клэй Колье (Clay Collier), занятый в создании программного обеспечения для автомобильных систем навигации, поведал историю о системе, над которой он работал по заказу крупной японской автоэлектронной компании. Клэй разработал по просьбе своего клиента прототип системы навигации. Как и подобает хорошему прототипу, он доказывал, что система будет работать, но в целом программа была едва функциональна. Однажды в США прилетел президент этой японской компании – производителя автомобильной электроники. Президент желал увидеть программу в действии. Коллега Клэя, назовем его Ральф, знал, что президенту из Японии отказать нельзя, придется сотворить демонстрацию. Ральф встретил президента в аэропорту на автомобиле, специально оборудованном прототипом навигационной системы. Ральф знал, что прототип может указать дорогу к офисам компании в Лос-Анджелесе, но остальные адреса даже не проверялись. К огорчению Ральфа, президент попросил отвезти его на ланч в конкретный ресторан. Ральф не знал, где находится ресторан, и вовсе не был уверен, что прототип сможет указать туда дорогу. Он скрестил пальцы и набрал название ресторана. К его удивлению, компьютер начал давать указания: «Повернуть направо на Линкольн-стрит», «Перестроиться в левый ряд», и так далее. Ральф послушно следовал указаниям, в то время как президент молча думал о чем-то своем, однако вскоре инструкции привели их в сомнительные районы города, так что Ральф забеспокоился. Его беспокойство достигло предела, когда он остановил машину по команде компьютера, и в этот момент кто-то распахнул дверь автомобиля снаружи. К бесконечному облегчению Ральфа, дверь открыл сотрудник ресторана. Президент расплылся в улыбке.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248