Человеческий фактор в Амазон и процесс Correction of Error (CoE)
· 3 мин
В Амазоне и других технологических гигантах, где у людей много свободы, неизбежны человеческие ошибки, иногда с огромными последствиями. Что делать с человеческим фактором?
Прежде, чем перейти к основной теме, небольшая преамбула о том, почему этот вопрос полезно изучать людям из пост-советского пространства.
Хоть я уже и взрослый дядя и часто ошибаюсь, я всё равно боюсь ошибиться и стараюсь по-максимуму быть правым. Помимо того, что я - обычный человек, думаю, причина ещё кроется в том, что я родился в СССР и вырос в рамках советского наследия, где за ошибки принято наказывать, начиная с детства и школы.
Людям в целом свойственно искать виновных и людям в советском устройстве общества это было жизненно необходимо. Виноватые могли запросто отправиться в ссылку и поэтому быть виноватым никто не хотел. Лучший способ защиты от ответственности для вышестоящих по иерархии? Конечно же, поиск козла отпущения.
Тактика наказания виноватых удовлетворяет потребность в мести, замаскированную под справедливость. Однако, такая тактика снимает ответственность с организации и её руководства, создающих среду для принятия решений. Часто плохие решения — это не плохие намерения виноватого, а хорошие намерения в рамках плохого процесса.
В Амазоне один из принципов, на которых строится культура — это презумпция виновности процесса. После каждой серьёзной проблемы команда, ответственная за косяк, описывает всё что произошло в документе под названием CoE (Correction of Error), который детально раскладывает все факты развития событий: поминутный протокол действий, копии логов, скриншоты метрик и т.п. В CoE все участники событий анонимны — суть документа в поиске проблем в процессах и системах, а не в людях.
CoE использует подход “пяти почему” (5 whys), который помогает докопаться до истины проблемы, задавая вопрос “почему” до тех пор, пока не докопаешься до фундаментальных причин. Основной результат такого документа — это предложение и план действий по тому, как избежать этого класса ошибок в будущем посредством автоматизации или коррекции процесса (отсюда название CoE).
Например, в 2017 году разработчик допустил маленькую ошибку при вводе команды и завалил облачный сервис хранения данных Amazon S3, вместе с которым на несколько часов упало много крупных сервисов и сайтов (интернет был повергнут в хаос), показав насколько современный мир зависит от Амазона. Человека, допустившего ошибку, не уволили, не шеймили и его (или её?) имя не было разглашено.
По итогам CoE ввели новые процессы для команд разработки, которые теперь помогают предотвратить повторение подобных ошибок во всём Амазоне. В результате этого “человеческого фактора” Амазон стал сильнее и предоставляет ещё более надёжные сервисы. Если бы человека уволили или как-то наказали, то это бы послужило сигналом, что ошибки — это опасно и их надо прятать.
Когда ошибки скрываются, не выигрывает никто. Наказание не ведёт к более качественным решениям, оно ведёт к тому, что процессы стагнируют и качество продуктов ухудшается. Это происходит до тех пор, пока не случится какой-то огромный кризис, полетят шапки, наймут новых людей и процесс сокрытия ошибок начнётся по-новой, потому что так принято в культуре.
P.S. Естественно, бывают случаи, когда люди делают неправильные вещи преднамеренно, показывая свою несовместимость с компанией, и таких нужно увольнять. Но чаще плохие решения принимают крутые специалисты (ведь другие в таких компаниях не работают). Уволить разработчика за ошибку было бы недальновидно, учитывая дефицит профессионалов на рынке и стоимость обучения новых сотрудников.
А как у тебя в компании относятся к ошибкам?