Постмортем в программировании

Постмортем (англ. post-mortem, от лат. post mortem) — это посмертная фотография, обычай фотографирования умерших людей в XIX веке. Обычно их фотографировали в таких одеждах и позах, словно они были живыми. Умерших располагали на диванах, креслах и т. д. Зачастую фотография делалась совместно с живыми родственниками.

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

  • Что произошло?
  • Почему это произошло?
  • Что сделано, чтобы этого больше не происходило?

Постмортемы могут писаться в Confluence или в системе контроля версий. Очень важно в процессе написания постмортема не искать козла отпущения, а просто детально и непредвзято пытаться описать ситуацию. Собранная таким образом информация должна помочь предотвратить подобные ошибки и провалы в будущем.

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

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

Итак, допустим вы сильно облажались. Неважно, был ли это ваш пет-проект или что-коммерческое. Важно принять, что провалы случаются. Провалы неизбежны. Shit happens.  Даже медицинское оборудование всегда содержит ошибки (в таких случаях следует упоминать Therac 25).

После принятия факта, что мир не идеален, нужно подумать, что мы можем сделать, чтобы устранить ошибку, и что мы можем сделать, чтобы исключить возникновение подобных ошибок в будущем.

Не стоит давить на своих подчинённых, не стоит искать козла отпущения, так как в таком случае атмосфера внутри вашего коллектива станет напряжённой. Усилятся все политические игры. До вас перестанут доходить сведения об истинном положении дел, так как все будут бояться негативных последствий. Вы будете жить в некотором выдуманном иллюзорном мире с розовыми единорогами и облаками, тогда как  в реальности будет происходить полный кошмар.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *