Humanware: почему системы ломаются о человека - страница 3

Шрифт
Интервал


Разработчики привыкли мыслить конструкциями: если ошибка – то фиксим. Если уязвимость – ставим firewall. Если баг – откат. Если тормоза – оптимизируем. Но как оптимизировать сотрудника, который не выспался? Как отловить race condition в мышлении, если человек одновременно думает о дедлайне и о проблемах с ребёнком? Как предсказать зависание, если пользователь просто растерялся, увидев новое поле в интерфейсе?

За последние два десятилетия мы сделали огромный технологический рывок. Инфраструктура стала масштабируемой. Системы – отказоустойчивыми. Интерфейсы – человекоориентированными. А вот сам человек – не изменился. Он по-прежнему остаётся сложным, эмоциональным, временами нелогичным существом. И как бы ни старалась индустрия, полностью исключить его из критических процессов пока невозможно. Да и не нужно.

Проблема в том, что мы строим системы, словно человек – это стабильно работающий модуль. Что он всегда логичен. Что он никогда не устанет. Что он всегда прочтёт инструкцию. И уж точно – что он точно знает, что делает. А потом этот человек сидит перед экраном, видит ошибку, не понимает, что с ней делать, и… нажимает пробел. Потому что это единственная клавиша, которую он помнит точно. И всё рушится.

Мы проектируем интерфейсы, как будто пользователь – идеален. Но человек не идеален. Он забывает. Он нервничает. Он нажимает не туда. Он может переоценить свои силы, сказать «да я быстро», и ошибиться. Он может уволиться. Может заболеть. Может просто выгореть и делать всё по инерции. Это не сбой. Это – часть системы.

Humanware – это не шутка про «проблему между клавиатурой и стулом». Это признание того, что между железом и кодом сидит кто-то, кто сам себя не до конца понимает. И если уж мы признаём его частью инфраструктуры, значит и проектировать системы надо с учётом его слабостей.

Это книга – не о критике человека. Не о том, как его заменить. И не о том, как ему объяснить, что он «всё делает не так». Это книга – о проектировании. О новой архитектуре, где человек не мешает системе, а встроен в неё правильно. Где его слабости – предусмотрены. Где его непредсказуемость – не проклятье, а инженерная переменная. Где риск не в том, что «он всё испортит», а в том, что мы не заложили под него поддержку.

Мы поговорим о реальных ошибках – не чтобы обвинить, а чтобы понять. Почему они случаются. Как предсказать сбой, когда сбой – это решение одного человека. Как проектировать интерфейсы, которые не доводят до паники. Как создавать процессы, которые не рушатся от одной невыспавшейся головы. Как перестать делать вид, что «human factor» – это исключение, а начать работать с ним, как с правилом.