Это перевод. Информация об авторе и ссылка на оригинальный материал ниже. Права принадлежат их авторам.

Учиться на ошибках в Etsy

30 сентября 2013

Автор: John Allspaw

I am currently a co-founder of Adaptive Capacity Labs, LLC. Previously, I was Chief Technology Officer at Etsy

(Эта статья изначально была опубликована в блоге Code As Craft — инженерном блоге Etsy. Я публикую её здесь повторно, потому что она по-прежнему актуальна, пока я готовлюсь вести внутренний курс для фасилитаторов разборов инцидентов в Etsy.)

На прошлой неделе Оуэн Томас написал лестную статью в Business Insider о том, как мы работаем с ошибками и сбоями в Etsy. Я решил подробнее рассказать о том, как именно это происходит и почему.

Все, кто работал с технологиями хоть в каком-то масштабе, знакомы со сбоями. Сбоям всё равно, сколько сил вы потратили на архитектуру, как тщательно писали и проверяли код, как скрупулёзно настраивали алерты и метрики.

Короче говоря: сбои неизбежны. Это аксиома при работе со сложными системами. Но что насчёт тех сбоев, которые произошли из-за действий (или бездействия) конкретных людей? Что делать с этими небрежными людьми, из-за которых у всех испортился день?

Может, их нужно уволить?

Или запретить им трогать критичные части системы?

Или отправить на дополнительное обучение?

Это традиционный взгляд на «человеческий фактор», который фокусируется на характеристиках конкретных людей. Сидни Деккер называет это «теорией паршивой овцы» — избавься от паршивых овец, и избавишься от человеческих ошибок. Звучит просто, правда?

Мы в Etsy не придерживаемся этого традиционного подхода. Вместо этого мы смотрим на ошибки, промахи, оплошности и всё остальное через призму обучения. Разборы инцидентов и аварий без поиска виноватых — часть этого подхода.

Разбор инцидента без поиска виноватых

Что значит проводить разбор «без поиска виноватых»?
Значит ли это, что все избегают ответственности за ошибки? Нет.

Хотя, может быть. Смотря что понимать под «избеганием ответственности». Сейчас объясню.

Культура справедливости означает, что вы стремитесь балансировать между безопасностью и ответственностью. Это значит, что когда вы расследуете ошибки, фокусируясь на ситуационных аспектах механизма сбоя и процессе принятия решений людьми, находившимися рядом с этим сбоем, организация становится безопаснее, чем если бы она просто наказала виновных.

Разбор инцидента «без поиска виноватых» означает, что инженеры, чьи действия способствовали аварии, могут детально рассказать:

  • какие действия они предприняли и когда,
  • какие эффекты они наблюдали,
  • какие у них были ожидания,
  • какие предположения они делали,
  • как они понимали хронологию событий.

…и что они могут дать этот детальный отчёт без страха наказания или возмездия.

Почему их не должны наказывать или делать выговор? Потому что инженер, который думает, что его накажут, теряет стимул предоставлять детали, необходимые для понимания механизма, причин и работы сбоя. Это отсутствие понимания того, как произошла авария, практически гарантирует, что она повторится. Если не с этим инженером, то с другим в будущем.

Мы верим, что эти детали критически важны для повышения безопасности в Etsy.

Если мы выбираем подход «найти виноватого», то мы неявно признаём, что организации становятся безопаснее через устрашение. Это основано на убеждении, что ошибки вызывают люди, а не ситуации. Это также связано с идеей, что должен быть страх: невыполнение работы правильно может привести к наказанию. Потому что страх наказания мотивирует людей действовать правильно в будущем. Так ведь?

Этот цикл «назвать-обвинить-пристыдить» выглядит так:

  1. Инженер совершает действие, которое приводит к сбою или инциденту.
  2. Инженера наказывают, стыдят, обвиняют или отправляют на переобучение.
  3. Доверие между инженерами на передовой («острый конец») и руководством («тупой конец»), ищущим козла отпущения, снижается
  4. Инженеры молчат о деталях действий/ситуаций/наблюдений, что приводит к инженерии в стиле «прикрой свою задницу» (из страха наказания)
  5. Руководство становится менее осведомлённым о том, как на самом деле выполняется работа изо дня в день, а инженеры меньше узнают о скрытых или латентных условиях для сбоев из-за молчания, упомянутого в пункте 4
  6. Ошибки становятся более вероятными, латентные условия невозможно выявить из-за пункта 5
  7. Повторение с пункта 1

Нам нужно избежать этого цикла. Мы хотим, чтобы инженер, совершивший ошибку, рассказал детали о том, почему (явно или неявно) он сделал то, что сделал; почему это действие имело для него смысл в тот момент. Это критически важно для понимания причин сбоя. Действие имело смысл для человека в момент, когда он его совершал, потому что если бы оно не имело смысла в тот момент, он не совершил бы это действие вообще.

Фундаментальная основа здесь — это то, что сказал Эрик Хольнагель:

Мы должны стремиться понять, что аварии происходят не потому, что люди рискуют и проигрывают.
Аварии происходят потому, что человек верит, что:
…то, что вот-вот произойдёт, невозможно,
…или то, что вот-вот произойдёт, никак не связано с тем, что он делает,
…или что возможность получить желаемый результат стоит любого риска.

Вторая история

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

Из книги Behind Human Error — вот разница между «первыми» и «вторыми» историями человеческой ошибки:

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

Позволить инженерам владеть своими историями

Забавная вещь происходит, когда инженеры совершают ошибки и чувствуют себя в безопасности, рассказывая о них подробно: они не только готовы нести ответственность, но и с энтузиазмом помогают остальной компании избежать той же ошибки в будущем. В конце концов, они — главные эксперты по своей собственной ошибке. Они должны быть активно вовлечены в разработку мер по её устранению.

Так что технически инженеры вовсе не «избегают ответственности» при процессе разбора без поиска виноватых. Они очень даже несут ответственность за то, чтобы помочь Etsy стать безопаснее и устойчивее в итоге. И вот что интересно: большинство инженеров, которых я знаю, считают эту идею — сделать всё лучше для других — стоящим делом.

Так что же мы делаем, чтобы создать «культуру справедливости» в Etsy?

  • Мы поощряем обучение, проводя разборы инцидентов и аварий без поиска виноватых.
  • Наша цель — понять, как могла произойти авария, чтобы лучше подготовиться к её предотвращению в будущем
  • Мы ищем вторые истории, собираем детали с разных точек зрения на сбои, и мы не наказываем людей за ошибки.
  • Вместо наказания инженеров мы даём им необходимые полномочия для улучшения безопасности, позволяя им детально рассказывать о своём вкладе в сбои.
  • Мы поддерживаем и поощряем людей, которые совершают ошибки, быть экспертами в обучении остальной организации тому, как их не повторять в будущем.
  • Мы признаём, что всегда есть пространство для принятия решений, где люди могут выбирать, действовать или нет, и что суждение об этих решениях происходит задним числом.
  • Мы признаём, что ошибка ретроспективного взгляда будет продолжать затуманивать нашу оценку прошлых событий, и усердно работаем над её устранением.
  • Мы признаём, что от фундаментальной ошибки атрибуции также трудно избавиться, поэтому мы фокусируемся на среде и обстоятельствах, в которых работают люди, при расследовании аварий.
  • Мы стремимся убедиться, что «тупой конец» организации понимает, как работа на самом деле выполняется (в отличие от того, как они представляют (или надеются), что она выполняется, через диаграммы Ганта и процедуры) на «остром конце».
  • Мы полагаемся на «острый конец», чтобы он информировал организацию о том, где проходит граница между приемлемым и неприемлемым поведением. Это не то, что «тупой конец» может определить самостоятельно.

Сбои случаются. Чтобы понять, как происходят сбои, мы сначала должны понять наши реакции на сбои.

Один вариант — предположить, что единственная причина — некомпетентность, и накричать на инженеров, чтобы они «были внимательнее!» или «осторожнее!»

Другой вариант — внимательно изучить, как на самом деле произошла авария, отнестись к вовлечённым инженерам с уважением и учиться на этом событии.

Вот почему мы проводим разборы инцидентов без поиска виноватых в Etsy, и почему мы стремимся создать здесь культуру справедливости.