<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Postmortem on Tarragon</title><link>https://tarrragon.github.io/blog/tags/postmortem/</link><description>Recent content in Postmortem on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Tue, 18 Aug 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/postmortem/index.xml" rel="self" type="application/rss+xml"/><item><title>事故、歸因與無指責檢討</title><link>https://tarrragon.github.io/blog/books/software-management/topics/incident-blame/</link><pubDate>Tue, 18 Aug 2026 00:00:00 +0800</pubDate><guid>https://tarrragon.github.io/blog/books/software-management/topics/incident-blame/</guid><description>&lt;p>事故檢討的品質由一個判斷決定：把「人為疏失」當成調查的起點還是結論。停在結論的檢討會產出加強訓練、加簽核、加提醒這類措施，而這些措施不改變系統允許錯誤發生的條件，因此同類事故會再來。把它當起點的檢討繼續往下問：為什麼這個操作在當時看起來是合理的，於是才會碰到真正可以改的東西。&lt;/p>
&lt;p>這個主題的書大多來自軟體業以外——航空、太空、醫療的安全科學。這些領域比軟體業早三十年面對「事故會死人」的壓力，因此發展出的調查方法與歸因理論成熟得多。Google SRE 的無指責檢討文化就建立在這批研究上，那本是這裡唯一的業內來源。&lt;/p>
&lt;p>受監理環境的讀者要先看這一段再往下。金融、醫療、航空這類有主管機關的組織，事故後的追責與報告是法定義務，不是文化選擇；下面三本處理的是「怎麼問出真正的原因」，不是「可不可以不追究」，而兩者在受監理環境裡最容易被混為一談。把無指責當成免責在這裡有實際的法律風險。這種組織該問的是懲戒界線畫在哪、以及調查報告與法遵報告能不能分開產出，那組問題對應的是 Dekker 的另一本《Just Culture》（見下面的「為什麼只收這幾本」段），而本書單沒有評估過那個脈絡下的適用方式。&lt;/p>
&lt;h2 id="起點是-dekker-的-field-guide">起點是 Dekker 的 Field Guide&lt;/h2>
&lt;p>Sidney Dekker 的《The Field Guide to Understanding &amp;lsquo;Human Error&amp;rsquo;》從歸因理論一路寫到調查程序，而且設計上就是給調查者當工作手冊用——理論與程序同時到位的只有它。核心主張是「人為疏失」這個標籤會阻止真正原因被發現，因為它把調查的終點放在最容易指認的地方。&lt;/p>
&lt;p>最實用的是它對 &lt;a href="https://tarrragon.github.io/blog/til/behavior/hindsight-bias/" data-link-title="後見之明偏誤：事後看得一清二楚的因果，在當下並不存在" data-link-desc="檢討會議裡出現「他當時怎麼會沒注意到」這種問句時，用來理解那個問句本身就建立在錯誤的前提上">後見之明偏誤&lt;/a> 的處理。事後看得一清二楚的因果，在事發當下的當事人視角裡並不存在——當時他看到的是部分的、矛盾的、正在變化的資訊，而且同時有其他事情在進行。因此調查的工作是重建當事人當時看到什麼，而不是列出他應該注意到什麼。書中提供了具體的重建步驟：建立時間軸、標記各時點的可得資訊、找出資訊與判斷之間的合理連結。&lt;/p>
&lt;p>另一組概念是舊觀點與新觀點的對照：舊觀點認為人是系統中不可靠的部分、要用流程約束；新觀點認為人是系統中製造彈性的部分，事故顯示的是系統的條件而非人的品質。這個轉換直接改變檢討會議的提問方式。&lt;/p>
&lt;p>&lt;a href="https://tarrragon.github.io/blog/books/knowledge-cards/evidence-provenance/" data-link-title="證據來源分類（evidence provenance）" data-link-desc="手上兩本書講同一件事而結論不同、或要拿一本書去支持一個實際決定時，用來判斷它支持得了多大範圍的決定">證據來源&lt;/a>是跨組織案例（航空與醫療的事故調查）加上人因工程研究。時效上，書中的案例來自駕駛艙與手術室，讀者要自行對應到軟體場景；後見之明偏誤與當事人視角重建的論證建立在人類認知的限制上，不依賴任何產業條件。&lt;a href="https://tarrragon.github.io/blog/books/knowledge-cards/context-compatibility/" data-link-title="處境相容性（context compatibility）" data-link-desc="一本書或一套做法讀起來都對、換算到自己的組織卻沒有一條動得了時，用來定位缺的是哪一個環境條件">處境相容性&lt;/a>上，全書預設調查的目的是學習，產出是給自己組織看的。有法定通報義務的組織，同一次事故要交出的是兩份東西——一份對內學習、一份對外符合報告格式，而這本書不處理那個分工，開頭那一段講的就是這件事。讀得出價值的前提是：參與過至少一次事故檢討會議。坐過那個房間的人才認得出書中反覆強調的「不要問他為什麼沒注意到」在攔什麼。目前沒有中譯本。&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.amazon.com/Field-Guide-Understanding-Human-Error/dp/1472439058">Amazon（The Field Guide to Understanding &amp;lsquo;Human Error&amp;rsquo;）&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="想理解災難怎麼累積時讀-the-challenger-launch-decision">想理解災難怎麼累積時讀 The Challenger Launch Decision&lt;/h2>
&lt;p>Diane Vaughan 的《The Challenger Launch Decision》是一部社會學的深度個案重建，推翻了挑戰者號失事的通俗解釋。她的結論是 &lt;a href="https://tarrragon.github.io/blog/til/organization/normalization-of-deviance/" data-link-title="偏差正常化：每次放寬都有理由，累積起來走到災難" data-link-desc="回頭看某個決定覺得離譜、但當時所有人都同意時，用來理解標準是怎麼一步步被重新定義的">偏差被逐步正常化&lt;/a>，而非有人違規或隱瞞——每一次小幅放寬標準當下都有合理理由，而且每次都沒出事，於是新標準成為基準，下一次再從新基準往外放一點。&lt;/p>
&lt;p>這個機制解釋了為什麼災難前的每個決定看起來都不算離譜，累積起來卻走到災難。軟體團隊的對應現象很容易辨認：每次跳過測試都有當下的理由、每次手動改生產環境都是特例、每次警報被靜音都因為它最近很吵。偏差正常化這個詞的價值在於它讓這類累積變成可以命名、可以在檢討時指認的東西。&lt;/p>
&lt;p>這是一本八百頁的學術專著，門檻比內容本身更常決定要不要讀它。讀得出價值的前提是待過一個曾經反覆放寬某條標準的組織；缺這個對照，整本會讀成一部太空史。想快速掌握概念的人，偏差正常化這個詞本身已經是主要收穫；想看它怎麼在真實組織裡一步步發生的人，才需要讀完。&lt;/p>
&lt;p>證據來源是單一組織的深度重建，而且深到極少見——內部文件、聽證紀錄、當事人訪談——所以它提供的是一個可以拿來對照自己組織的完整範本，而非可統計的通則。時效上，NASA 在事故後的組織改革使書中描述的決策鏈已不復存在，而偏差正常化的機制與那個組織的具體形態無關。目前沒有中譯本。&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.amazon.com/Challenger-Launch-Decision-Technology-Deviance/dp/022634682X">Amazon（The Challenger Launch Decision, Enlarged Edition）&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="要看產業實作版本時回到-google-sre">要看產業實作版本時回到 Google SRE&lt;/h2>
&lt;p>Google 的《Site Reliability Engineering》裡的事後檢討章節，是上述兩本的理論在軟體組織裡的制度化版本：檢討報告該包含什麼、由誰主持、如何確保追蹤項目真的被完成、以及怎麼避免無指責變成無追究。&lt;/p>
&lt;p>它的性質是單一組織的深度重建，形式是制度紀錄，因此提供的是一份可以參照的範本而非通則。這本書的完整描述在 &lt;a href="../continuous-delivery/">持續交付與交付效能&lt;/a>，此處只標出它在事故這條線上的用途。全文免費線上閱讀。&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://sre.google/books/">Google SRE 官方免費線上版&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="為什麼只收這幾本">為什麼只收這幾本&lt;/h2>
&lt;p>調查、判讀、制度化是三件不同的工作，各自需要的材料也不同：怎麼問，看 Dekker 的操作指南；怎麼看懂長期累積，看 Vaughan 的深度個案；怎麼把它變成制度，看 Google SRE 的範本。三本不重疊。&lt;/p>
&lt;p>安全科學的文獻量龐大，且多數以學術論文而非書籍形式存在。書籍形式的入門書多半綁定特定產業的法規框架（航空的 SMS、醫療的病安通報），軟體讀者要先學那套法規才讀得懂內容。翻案例來源就看得出來：案例全部出自單一產業的法規通報系統時，那本書的推導依賴那套通報制度，換一個沒有通報義務的環境就少了半邊。&lt;/p>
&lt;p>Dekker 的另一本《Just Culture》處理的是懲戒界線——哪些行為即使在無指責文化下仍需追究。它與這裡的三本不重疊，本書單未評估它對軟體團隊的適用時機，因此暫不列入；團隊已經在爭論「這次到底該不該記過」的話，那本是直接對應的書。&lt;/p>
&lt;p>受監理環境的處理寫在開頭那一段，因為它決定要不要往下讀，而不是讀完之後才調整。&lt;/p>
&lt;p>這個主題沒查到可以收的公開課，而成因跟它在哪裡被教有關：組織類題材主要在商學院，而商學院的課最少免費全釋出。這個說法可以被推翻的方式、以及整條線的供給狀況，寫在 &lt;a href="../">主題書單&lt;/a> 的公開課段。&lt;/p>
&lt;h2 id="這個主題接到哪裡">這個主題接到哪裡&lt;/h2>
&lt;p>檢討要有效，前提是當事人願意說出當時真正發生什麼。那個前提屬於 &lt;a href="../culture-safety/">組織文化與心理安全感&lt;/a>——無指責檢討的制度可以照抄，講真話的意願不行。&lt;/p>
&lt;p>偏差累積的另一面是系統層級的回饋延遲：每次放寬標準都沒有立即後果，因此沒有訊號阻止下一次。那個機制走 &lt;a href="../problem-definition/">問題定義與系統思考&lt;/a>。&lt;/p>
&lt;p>事故分級怎麼定、指揮角色怎麼分工、復盤產出怎麼進下一輪演練，這些制度實作看 &lt;a href="https://tarrragon.github.io/blog/backend/08-incident-response/" data-link-title="模組八：事故處理與復盤" data-link-desc="用 IR 領域詞彙建問題節點、以服務級案例庫累積事故脈絡，先建概念與案例庫再進實作交接">事故處理與復盤&lt;/a>。事故的偵測面——客戶端遙測怎麼收、告警怎麼收斂——看 &lt;a href="https://tarrragon.github.io/blog/monitoring/" data-link-title="監控實務指南" data-link-desc="整理非伺服器端運行時的監控體系 — 行為蒐集、錯誤回報、效能指標、生命週期追蹤，從自架方案到商業方案的完整知識路線">Monitoring 監控體系&lt;/a>。服務探活與高可用看 &lt;a href="https://tarrragon.github.io/blog/operations/" data-link-title="運行期維運 — 服務在 production 怎麼活下來" data-link-desc="負載平衡、水平擴展、流量管控、服務探活、容量規劃、高可用、突發流量、成本管理 — 服務上線後運行期的工程基礎">運行期維運&lt;/a>。&lt;/p></description><content:encoded><![CDATA[<p>事故檢討的品質由一個判斷決定：把「人為疏失」當成調查的起點還是結論。停在結論的檢討會產出加強訓練、加簽核、加提醒這類措施，而這些措施不改變系統允許錯誤發生的條件，因此同類事故會再來。把它當起點的檢討繼續往下問：為什麼這個操作在當時看起來是合理的，於是才會碰到真正可以改的東西。</p>
<p>這個主題的書大多來自軟體業以外——航空、太空、醫療的安全科學。這些領域比軟體業早三十年面對「事故會死人」的壓力，因此發展出的調查方法與歸因理論成熟得多。Google SRE 的無指責檢討文化就建立在這批研究上，那本是這裡唯一的業內來源。</p>
<p>受監理環境的讀者要先看這一段再往下。金融、醫療、航空這類有主管機關的組織，事故後的追責與報告是法定義務，不是文化選擇；下面三本處理的是「怎麼問出真正的原因」，不是「可不可以不追究」，而兩者在受監理環境裡最容易被混為一談。把無指責當成免責在這裡有實際的法律風險。這種組織該問的是懲戒界線畫在哪、以及調查報告與法遵報告能不能分開產出，那組問題對應的是 Dekker 的另一本《Just Culture》（見下面的「為什麼只收這幾本」段），而本書單沒有評估過那個脈絡下的適用方式。</p>
<h2 id="起點是-dekker-的-field-guide">起點是 Dekker 的 Field Guide</h2>
<p>Sidney Dekker 的《The Field Guide to Understanding &lsquo;Human Error&rsquo;》從歸因理論一路寫到調查程序，而且設計上就是給調查者當工作手冊用——理論與程序同時到位的只有它。核心主張是「人為疏失」這個標籤會阻止真正原因被發現，因為它把調查的終點放在最容易指認的地方。</p>
<p>最實用的是它對 <a href="/blog/til/behavior/hindsight-bias/" data-link-title="後見之明偏誤：事後看得一清二楚的因果，在當下並不存在" data-link-desc="檢討會議裡出現「他當時怎麼會沒注意到」這種問句時，用來理解那個問句本身就建立在錯誤的前提上">後見之明偏誤</a> 的處理。事後看得一清二楚的因果，在事發當下的當事人視角裡並不存在——當時他看到的是部分的、矛盾的、正在變化的資訊，而且同時有其他事情在進行。因此調查的工作是重建當事人當時看到什麼，而不是列出他應該注意到什麼。書中提供了具體的重建步驟：建立時間軸、標記各時點的可得資訊、找出資訊與判斷之間的合理連結。</p>
<p>另一組概念是舊觀點與新觀點的對照：舊觀點認為人是系統中不可靠的部分、要用流程約束；新觀點認為人是系統中製造彈性的部分，事故顯示的是系統的條件而非人的品質。這個轉換直接改變檢討會議的提問方式。</p>
<p><a href="/blog/books/knowledge-cards/evidence-provenance/" data-link-title="證據來源分類（evidence provenance）" data-link-desc="手上兩本書講同一件事而結論不同、或要拿一本書去支持一個實際決定時，用來判斷它支持得了多大範圍的決定">證據來源</a>是跨組織案例（航空與醫療的事故調查）加上人因工程研究。時效上，書中的案例來自駕駛艙與手術室，讀者要自行對應到軟體場景；後見之明偏誤與當事人視角重建的論證建立在人類認知的限制上，不依賴任何產業條件。<a href="/blog/books/knowledge-cards/context-compatibility/" data-link-title="處境相容性（context compatibility）" data-link-desc="一本書或一套做法讀起來都對、換算到自己的組織卻沒有一條動得了時，用來定位缺的是哪一個環境條件">處境相容性</a>上，全書預設調查的目的是學習，產出是給自己組織看的。有法定通報義務的組織，同一次事故要交出的是兩份東西——一份對內學習、一份對外符合報告格式，而這本書不處理那個分工，開頭那一段講的就是這件事。讀得出價值的前提是：參與過至少一次事故檢討會議。坐過那個房間的人才認得出書中反覆強調的「不要問他為什麼沒注意到」在攔什麼。目前沒有中譯本。</p>
<ul>
<li><a href="https://www.amazon.com/Field-Guide-Understanding-Human-Error/dp/1472439058">Amazon（The Field Guide to Understanding &lsquo;Human Error&rsquo;）</a></li>
</ul>
<h2 id="想理解災難怎麼累積時讀-the-challenger-launch-decision">想理解災難怎麼累積時讀 The Challenger Launch Decision</h2>
<p>Diane Vaughan 的《The Challenger Launch Decision》是一部社會學的深度個案重建，推翻了挑戰者號失事的通俗解釋。她的結論是 <a href="/blog/til/organization/normalization-of-deviance/" data-link-title="偏差正常化：每次放寬都有理由，累積起來走到災難" data-link-desc="回頭看某個決定覺得離譜、但當時所有人都同意時，用來理解標準是怎麼一步步被重新定義的">偏差被逐步正常化</a>，而非有人違規或隱瞞——每一次小幅放寬標準當下都有合理理由，而且每次都沒出事，於是新標準成為基準，下一次再從新基準往外放一點。</p>
<p>這個機制解釋了為什麼災難前的每個決定看起來都不算離譜，累積起來卻走到災難。軟體團隊的對應現象很容易辨認：每次跳過測試都有當下的理由、每次手動改生產環境都是特例、每次警報被靜音都因為它最近很吵。偏差正常化這個詞的價值在於它讓這類累積變成可以命名、可以在檢討時指認的東西。</p>
<p>這是一本八百頁的學術專著，門檻比內容本身更常決定要不要讀它。讀得出價值的前提是待過一個曾經反覆放寬某條標準的組織；缺這個對照，整本會讀成一部太空史。想快速掌握概念的人，偏差正常化這個詞本身已經是主要收穫；想看它怎麼在真實組織裡一步步發生的人，才需要讀完。</p>
<p>證據來源是單一組織的深度重建，而且深到極少見——內部文件、聽證紀錄、當事人訪談——所以它提供的是一個可以拿來對照自己組織的完整範本，而非可統計的通則。時效上，NASA 在事故後的組織改革使書中描述的決策鏈已不復存在，而偏差正常化的機制與那個組織的具體形態無關。目前沒有中譯本。</p>
<ul>
<li><a href="https://www.amazon.com/Challenger-Launch-Decision-Technology-Deviance/dp/022634682X">Amazon（The Challenger Launch Decision, Enlarged Edition）</a></li>
</ul>
<h2 id="要看產業實作版本時回到-google-sre">要看產業實作版本時回到 Google SRE</h2>
<p>Google 的《Site Reliability Engineering》裡的事後檢討章節，是上述兩本的理論在軟體組織裡的制度化版本：檢討報告該包含什麼、由誰主持、如何確保追蹤項目真的被完成、以及怎麼避免無指責變成無追究。</p>
<p>它的性質是單一組織的深度重建，形式是制度紀錄，因此提供的是一份可以參照的範本而非通則。這本書的完整描述在 <a href="../continuous-delivery/">持續交付與交付效能</a>，此處只標出它在事故這條線上的用途。全文免費線上閱讀。</p>
<ul>
<li><a href="https://sre.google/books/">Google SRE 官方免費線上版</a></li>
</ul>
<h2 id="為什麼只收這幾本">為什麼只收這幾本</h2>
<p>調查、判讀、制度化是三件不同的工作，各自需要的材料也不同：怎麼問，看 Dekker 的操作指南；怎麼看懂長期累積，看 Vaughan 的深度個案；怎麼把它變成制度，看 Google SRE 的範本。三本不重疊。</p>
<p>安全科學的文獻量龐大，且多數以學術論文而非書籍形式存在。書籍形式的入門書多半綁定特定產業的法規框架（航空的 SMS、醫療的病安通報），軟體讀者要先學那套法規才讀得懂內容。翻案例來源就看得出來：案例全部出自單一產業的法規通報系統時，那本書的推導依賴那套通報制度，換一個沒有通報義務的環境就少了半邊。</p>
<p>Dekker 的另一本《Just Culture》處理的是懲戒界線——哪些行為即使在無指責文化下仍需追究。它與這裡的三本不重疊，本書單未評估它對軟體團隊的適用時機，因此暫不列入；團隊已經在爭論「這次到底該不該記過」的話，那本是直接對應的書。</p>
<p>受監理環境的處理寫在開頭那一段，因為它決定要不要往下讀，而不是讀完之後才調整。</p>
<p>這個主題沒查到可以收的公開課，而成因跟它在哪裡被教有關：組織類題材主要在商學院，而商學院的課最少免費全釋出。這個說法可以被推翻的方式、以及整條線的供給狀況，寫在 <a href="../">主題書單</a> 的公開課段。</p>
<h2 id="這個主題接到哪裡">這個主題接到哪裡</h2>
<p>檢討要有效，前提是當事人願意說出當時真正發生什麼。那個前提屬於 <a href="../culture-safety/">組織文化與心理安全感</a>——無指責檢討的制度可以照抄，講真話的意願不行。</p>
<p>偏差累積的另一面是系統層級的回饋延遲：每次放寬標準都沒有立即後果，因此沒有訊號阻止下一次。那個機制走 <a href="../problem-definition/">問題定義與系統思考</a>。</p>
<p>事故分級怎麼定、指揮角色怎麼分工、復盤產出怎麼進下一輪演練，這些制度實作看 <a href="/blog/backend/08-incident-response/" data-link-title="模組八：事故處理與復盤" data-link-desc="用 IR 領域詞彙建問題節點、以服務級案例庫累積事故脈絡，先建概念與案例庫再進實作交接">事故處理與復盤</a>。事故的偵測面——客戶端遙測怎麼收、告警怎麼收斂——看 <a href="/blog/monitoring/" data-link-title="監控實務指南" data-link-desc="整理非伺服器端運行時的監控體系 — 行為蒐集、錯誤回報、效能指標、生命週期追蹤，從自架方案到商業方案的完整知識路線">Monitoring 監控體系</a>。服務探活與高可用看 <a href="/blog/operations/" data-link-title="運行期維運 — 服務在 production 怎麼活下來" data-link-desc="負載平衡、水平擴展、流量管控、服務探活、容量規劃、高可用、突發流量、成本管理 — 服務上線後運行期的工程基礎">運行期維運</a>。</p>
]]></content:encoded></item></channel></rss>