"Blameless Post-mortem" (Phân tích lỗi không đổ lỗi)
- Lỗi là tất yếu (Human Error is Inevitable): Kỹ sư dù được coi là những người giỏi nhất thế giới, nhưng họ vẫn là con người. Nếu một hệ thống cho phép một lỗi đánh máy hoặc một dòng code sai có thể làm sụp đổ hoặc lộ lọt dữ liệu quan trọng, thì lỗi đó không nằm ở bàn tay người gõ, mà nằm ở hệ thống phòng thủ quá mỏng manh.
-
Thiết kế hệ thống để "được phép sai" (Fault Tolerance): Một hệ thống tốt phải có nhiều lớp bảo vệ (Layered Defense). Nếu lớp Code Review sơ hở, lớp Unit Test phải bắt được; nếu Unit Test lọt, lớp Integration Test phải bắt được; nếu tất cả đều lọt, lớp Monitoring (giám sát) phải báo động ngay khi có dòng dữ liệu bất thường chảy ra ngoài. Khi tất cả các lớp này đều thất bại, đó là một lỗi hệ thống (Systemic Failure).
-
Trách nhiệm của Quản lý là "Quản trị Rủi ro": PM và EM không trả lương để gõ code, mà để xây dựng cái "lưới" đủ dày để bắt lỗi. Khi lỗi nghiêm trọng xảy ra, họ chịu trách nhiệm vì đã:
- Không đầu tư đủ nguồn lực cho khâu bảo mật/kiểm thử.
- Thiết kế quy trình vận hành có lỗ hổng.
- Đưa ra các quyết định ưu tiên tốc độ (speed) hơn sự an toàn (safety).