事故、歸因與無指責檢討
事故檢討的品質由一個判斷決定:把「人為疏失」當成調查的起點還是結論。停在結論的檢討會產出加強訓練、加簽核、加提醒這類措施,而這些措施不改變系統允許錯誤發生的條件,因此同類事故會再來。把它當起點的檢討繼續往下問:為什麼這個操作在當時看起來是合理的,於是才會碰到真正可以改的東西。
這個主題的書大多來自軟體業以外——航空、太空、醫療的安全科學。這些領域比軟體業早三十年面對「事故會死人」的壓力,因此發展出的調查方法與歸因理論成熟得多。Google SRE 的無指責檢討文化就建立在這批研究上,那本是這裡唯一的業內來源。
受監理環境的讀者要先看這一段再往下。金融、醫療、航空這類有主管機關的組織,事故後的追責與報告是法定義務,不是文化選擇;下面三本處理的是「怎麼問出真正的原因」,不是「可不可以不追究」,而兩者在受監理環境裡最容易被混為一談。把無指責當成免責在這裡有實際的法律風險。這種組織該問的是懲戒界線畫在哪、以及調查報告與法遵報告能不能分開產出,那組問題對應的是 Dekker 的另一本《Just Culture》(見下面的「為什麼只收這幾本」段),而本書單沒有評估過那個脈絡下的適用方式。
起點是 Dekker 的 Field Guide
Sidney Dekker 的《The Field Guide to Understanding ‘Human Error’》從歸因理論一路寫到調查程序,而且設計上就是給調查者當工作手冊用——理論與程序同時到位的只有它。核心主張是「人為疏失」這個標籤會阻止真正原因被發現,因為它把調查的終點放在最容易指認的地方。
最實用的是它對 後見之明偏誤 的處理。事後看得一清二楚的因果,在事發當下的當事人視角裡並不存在——當時他看到的是部分的、矛盾的、正在變化的資訊,而且同時有其他事情在進行。因此調查的工作是重建當事人當時看到什麼,而不是列出他應該注意到什麼。書中提供了具體的重建步驟:建立時間軸、標記各時點的可得資訊、找出資訊與判斷之間的合理連結。
另一組概念是舊觀點與新觀點的對照:舊觀點認為人是系統中不可靠的部分、要用流程約束;新觀點認為人是系統中製造彈性的部分,事故顯示的是系統的條件而非人的品質。這個轉換直接改變檢討會議的提問方式。
證據來源是跨組織案例(航空與醫療的事故調查)加上人因工程研究。時效上,書中的案例來自駕駛艙與手術室,讀者要自行對應到軟體場景;後見之明偏誤與當事人視角重建的論證建立在人類認知的限制上,不依賴任何產業條件。處境相容性上,全書預設調查的目的是學習,產出是給自己組織看的。有法定通報義務的組織,同一次事故要交出的是兩份東西——一份對內學習、一份對外符合報告格式,而這本書不處理那個分工,開頭那一段講的就是這件事。讀得出價值的前提是:參與過至少一次事故檢討會議。坐過那個房間的人才認得出書中反覆強調的「不要問他為什麼沒注意到」在攔什麼。目前沒有中譯本。
想理解災難怎麼累積時讀 The Challenger Launch Decision
Diane Vaughan 的《The Challenger Launch Decision》是一部社會學的深度個案重建,推翻了挑戰者號失事的通俗解釋。她的結論是 偏差被逐步正常化,而非有人違規或隱瞞——每一次小幅放寬標準當下都有合理理由,而且每次都沒出事,於是新標準成為基準,下一次再從新基準往外放一點。
這個機制解釋了為什麼災難前的每個決定看起來都不算離譜,累積起來卻走到災難。軟體團隊的對應現象很容易辨認:每次跳過測試都有當下的理由、每次手動改生產環境都是特例、每次警報被靜音都因為它最近很吵。偏差正常化這個詞的價值在於它讓這類累積變成可以命名、可以在檢討時指認的東西。
這是一本八百頁的學術專著,門檻比內容本身更常決定要不要讀它。讀得出價值的前提是待過一個曾經反覆放寬某條標準的組織;缺這個對照,整本會讀成一部太空史。想快速掌握概念的人,偏差正常化這個詞本身已經是主要收穫;想看它怎麼在真實組織裡一步步發生的人,才需要讀完。
證據來源是單一組織的深度重建,而且深到極少見——內部文件、聽證紀錄、當事人訪談——所以它提供的是一個可以拿來對照自己組織的完整範本,而非可統計的通則。時效上,NASA 在事故後的組織改革使書中描述的決策鏈已不復存在,而偏差正常化的機制與那個組織的具體形態無關。目前沒有中譯本。
要看產業實作版本時回到 Google SRE
Google 的《Site Reliability Engineering》裡的事後檢討章節,是上述兩本的理論在軟體組織裡的制度化版本:檢討報告該包含什麼、由誰主持、如何確保追蹤項目真的被完成、以及怎麼避免無指責變成無追究。
它的性質是單一組織的深度重建,形式是制度紀錄,因此提供的是一份可以參照的範本而非通則。這本書的完整描述在 持續交付與交付效能,此處只標出它在事故這條線上的用途。全文免費線上閱讀。
為什麼只收這幾本
調查、判讀、制度化是三件不同的工作,各自需要的材料也不同:怎麼問,看 Dekker 的操作指南;怎麼看懂長期累積,看 Vaughan 的深度個案;怎麼把它變成制度,看 Google SRE 的範本。三本不重疊。
安全科學的文獻量龐大,且多數以學術論文而非書籍形式存在。書籍形式的入門書多半綁定特定產業的法規框架(航空的 SMS、醫療的病安通報),軟體讀者要先學那套法規才讀得懂內容。翻案例來源就看得出來:案例全部出自單一產業的法規通報系統時,那本書的推導依賴那套通報制度,換一個沒有通報義務的環境就少了半邊。
Dekker 的另一本《Just Culture》處理的是懲戒界線——哪些行為即使在無指責文化下仍需追究。它與這裡的三本不重疊,本書單未評估它對軟體團隊的適用時機,因此暫不列入;團隊已經在爭論「這次到底該不該記過」的話,那本是直接對應的書。
受監理環境的處理寫在開頭那一段,因為它決定要不要往下讀,而不是讀完之後才調整。
這個主題沒查到可以收的公開課,而成因跟它在哪裡被教有關:組織類題材主要在商學院,而商學院的課最少免費全釋出。這個說法可以被推翻的方式、以及整條線的供給狀況,寫在 主題書單 的公開課段。
這個主題接到哪裡
檢討要有效,前提是當事人願意說出當時真正發生什麼。那個前提屬於 組織文化與心理安全感——無指責檢討的制度可以照抄,講真話的意願不行。
偏差累積的另一面是系統層級的回饋延遲:每次放寬標準都沒有立即後果,因此沒有訊號阻止下一次。那個機制走 問題定義與系統思考。
事故分級怎麼定、指揮角色怎麼分工、復盤產出怎麼進下一輪演練,這些制度實作看 事故處理與復盤。事故的偵測面——客戶端遙測怎麼收、告警怎麼收斂——看 Monitoring 監控體系。服務探活與高可用看 運行期維運。
#books #reading #postmortem #blameless #safety-science #incident