Engineering #post-mortem #process #team #software-engineering

Post-Mortem กับการทำ Software

เมื่อ Software ล่ม เราจะทำอะไรได้บ้าง? Post-Mortem คือเครื่องมือที่ช่วยให้ทีมเรียนรู้จากปัญหา และป้องกันไม่ให้เกิดขึ้นซ้ำอีก

April 14, 2026 3 min read

Post-Mortem คืออะไร?

ถ้าแปลตรงๆ “Post-Mortem” ก็แปลได้ว่า การหาสาเหตุของการตาย แต่การตายในที่นี้เรากำลังพูดถึงการที่ software ได้ตายลงไป! หรือมีบางสิ่งบางอย่างที่ทำให้ Software ที่เรากำลังพัฒนานั้นล่ม (Users ไม่สามารถเข้าใช้งาน Software ได้)

แต่ แต่ แต่ การทำ Post-Mortem นั้นเราจะไม่ทำแค่ตอน Software ล่มเท่านั้นนะ แต่เรายังใช้เมื่อ Users ใช้งาน Software แล้วพบ Bugs, Defect, Issue หรืออะไรก็แล้วแต่ที่ไม่ใช่เรื่องดีๆ ใน Software ที่เราพัฒนาขึ้นมา เราก็ใช้เจ้า Post-Mortem นี่แหละในการชำแหละปัญหาต่างๆ ออกมานั้นเองครับโผมมม

ซึ่งการทำ Post-Mortem ควบคู่กับการทำ Software นั้นมีบทบาทที่สำคัญเป็นอย่างมาก สำหรับการทำ Software เพราะเมื่อไหร่ก็ตามที่ Software ที่เรากำลังพัฒนาได้ตายลงไป หรือ users เจอปัญหาบน Software เราจะมีวิธีไหนบ้างที่จะสามารถป้องกันไม่ให้เกิดปัญหาเหล่านั้นขึ้นอีก หรือถ้าเกิดปัญหาเหล่านั้นขึ้นมาจริงๆ เราจะมีวิธีไหนบ้างที่จะสามารถลดเวลาในการแก้ไขปัญหาที่เกิดขึ้น และทำให้ Software กลับมาใช้งานได้ตามปกติได้เร็วที่สุด

“Take extra care to make sure the postmortem document isn’t just a useless list of apologies or excuses or finger-pointing — that’s not its purpose.”

ผมมีตัวอย่างมาแชร์สำหรับการทำ Post-Mortem ที่ผมได้เคยผ่านมาให้ได้อ่านกันครับ ไปกันเล๊ย

ก่อนเราจะทำ Post-Mortem ได้นั้นก็แน่นอนว่าต้องมีปัญหาเกิดขึ้นมาก่อน และเราได้ทำการแก้ไขปัญหาที่เกิดขึ้น และทำให้ Software ของเรานั้นกลับมาทำงานได้ปกติ เมื่อเกิดทั้งสองข้อนี้ไปแล้ว เราก็จะมาเข้าสู่การทำ Post-Mortem กันนนเลย


🎈 ขั้นตอนที่ 1 — สร้าง Template

สร้าง Template ขึ้นมาโดยกำหนดช่วงเวลาตั้งแต่ Web ล่ม จนถึงเวลาที่เราได้แก้ไขจน Web สามารถกลับมาใช้งานได้ปกติ กรอบเวลานี้จะเป็น “เวที” ให้ทุกคนในทีมเขียน timeline ร่วมกันในขั้นตอนถัดไป


🎈 ขั้นตอนที่ 2 — เขียน Timeline

เราจะให้สมาชิกแต่ละคนในทีมเขียนลงไปใน Post-it ว่าทำอะไรไปบ้างในช่วงที่ Web ล่ม จนถึงตอนที่สามารถแก้ไขให้ Web กลับมาใช้งานได้ปกติ (เขียนสิ่งที่ตัวเองเจอและทำ และห้ามแอบดูโพยคนอื่นนะ)

เมื่อทุกคนเขียนเสร็จ นำ Post-it ทั้งหมดมาเรียงบน timeline เราจะเห็นภาพรวมของเหตุการณ์จากมุมมองของทุกคนในทีมพร้อมกัน


🎈 ขั้นตอนที่ 3 — โหวต

เมื่อทุกคนเขียนเสร็จ เราจะให้แต่ละคนอ่าน Post-it action ของคนอื่น แล้วทำการโหวต Post-it action ที่เป็นประโยชน์ โดยใช้ระบบ dot voting แบบง่ายๆ:

  • ติ๊กบวก (+) — action นี้เป็นประโยชน์ ควรเก็บไว้
  • ติ๊กลบ (-) — action นี้ไม่ได้ช่วยอะไร หรือทำให้ช้าลง

การโหวตช่วยให้ทีมเห็นตรงกันว่า action ไหนสำคัญจริงๆ โดยไม่ต้องเถียงกัน


🎈 ขั้นตอนที่ 4 — Discuss

นำ Post-it action ที่มีคนโหวตเยอะที่สุดมา Discuss กัน เพื่อครั้งต่อไปถ้าเกิดปัญหาขึ้น ทุกคนในทีมจะได้เข้าใจตรงกันว่าควรเริ่มแก้ไขปัญหาจากจุดไหนก่อน เพื่อให้ลดระยะเวลาแก้ไขปัญหาให้ได้มากที่สุดเท่าที่จะมากได้ (จริงๆ มันก็ไม่ควรเกิดขึ้นอีกนะ)


Post-Mortem ที่ดีควรมีอะไรบ้าง?

จากหนังสือ Software Engineering at Google: Lessons Learned from Programming Over Time ได้เสนอวิธีการทำ Post-Mortem ที่ดี และควรทำดังนี้:

  • A brief summary of the event — สรุปเหตุการณ์ที่เกิดขึ้น
  • A timeline of the event, from discovery through investigation to resolution — เรียงลำดับเหตุการณ์ตั้งแต่พบปัญหา จนถึงตอนที่แก้ไขปัญหาเสร็จสิ้นและ Software ใช้งานได้ปกติ
  • The primary cause of the event — หาสาเหตุปัญหาหลักของเหตุการณ์ที่เกิดขึ้น
  • Impact and damage assessment — ประเมินผลกระทบ และความเสียหายที่เกิดขึ้น
  • A set of action items (with owners) to fix the problem immediately — เลือก action items ที่เขียนใน timeline เพื่อครั้งหน้าจะสามารถแก้ไขปัญหาได้ทันที
  • A set of action items to prevent the event from happening again — เลือก action items ที่เขียนใน timeline เพื่อนำมาป้องกันไม่ให้เหตุการณ์เกิดขึ้นอีก
  • Lessons learned — บทเรียนที่ได้รับจากเหตุการณ์ที่เกิดขึ้น

“The key to learning from your mistakes is to document your failures by performing a root-cause analysis and writing up a postmortem, as it’s called at Google (and many other companies).”


Originally published on suwankhp · Medium