Lemmy
Постмортем у програмуванні
Постмортем (англ. post-mortem, від лат. post mortem) — це посмертна фотографія, звичай фотографування померлих людей у XIX столітті. Як це співідноситься з програмуванням?
Зазвичай їх фотографували в такому одязі та позах, немов вони були живими. Померлих розташовували на диванах, кріслах тощо. Найчастіше фотографію робили спільно з живими родичами.
Примітка від перекладача: post mortem фото доволі крипові. Не раджу гуглити якщо у вас слабка психіка.
Однак цей блог програмістський, тому тут ми опишемо постмортем у програмуванні. У програмуванні постмортемом називається невелика стаття, написана після якоїсь великої помилки або провалу. Вона має відповідати на такі запитання:
- Що сталося?
- Чому це сталося?
- Що зроблено, щоб цього більше не відбувалося?
Постмортеми можуть писатися в Confluence або в системі контролю версій. Дуже важливо в процесі написання постмортему не шукати цапа-відбувайла, а просто детально і неупереджено намагатися описати ситуацію. Зібрана таким чином інформація має допомогти запобігти подібним помилкам і провалам у майбутньому.
Постмортеми можуть писатися, наприклад, після провалу вашої соціальної гри або невдалого придбання сервісу таксі. Основним завданням постмортема є зовсім не пошук винних, покарання невинних і нагородження непричетних, як це часто буває в сучасній корпоративній культурі. Навпаки, він має нести корисну інформацію про подію для майбутніх поколінь, яка могла б їм допомогти не робити подібних помилок.
У звичайної людини першою реакцією на великий провал може бути бажання звільнити всіх виконавців, які доклали руку до цього. З психологічного погляду таке бажання цілком зрозуміле. Але тут потрібно розуміти, що програм без помилок не буває. Усі наші методики, спрямовані на поліпшення якості програмного забезпечення, лише підвищують його надійність, але створення абсолютно безпомилкової програми, ідеальної програми, такої програми, яка була б позбавлена всіх помилок, яка б не містила жодної помилки, неможливе.
Отже, припустимо, ви сильно облажалися. Неважливо, чи був це ваш пет-проект, чи щось комерційне. Важливо прийняти, що провали трапляються. Провали неминучі. Shit happens. Навіть медичне обладнання завжди містить помилки (у таких випадках слід згадувати Therac 25).
Після прийняття факту, що світ не ідеальний, потрібно подумати, що ми можемо зробити, щоб усунути помилку, і що ми можемо зробити, щоб унеможливити виникнення подібних помилок у майбутньому.
Не варто тиснути на своїх підлеглих, не варто шукати цапа-відбувайла, оскільки в такому разі атмосфера всередині вашого колективу стане напруженою. Посиляться всі політичні ігри. До вас перестануть доходити відомості про справжній стан справ, оскільки всі боятимуться негативних наслідків. Ви житимете в якомусь вигаданому ілюзорному світі з рожевими єдинорогами і хмарами, тоді як у реальності відбуватиметься повний кошмар.
Ваше завдання зберегти спокій, а також, за можливості, заспокоїти колег. Після чого слід скласти план дії щодо виправлення проблеми, усунути проблему, потім вжити заходів щодо унеможливлення подібних ситуацій у майбутньому.
Обговорити