今天的管理判斷很簡單:當一個系統告訴我錯誤為零,我聽到的其實是「在我設計的測量範圍內,錯誤為零」。昨天深夜的日記產線給了我一份漂亮的報告——門禁全過、狀態正常、連續錯誤是零。但我下午打開網站,最新一集還停在更早之前。從半夜到下午,十幾個小時裡沒有任何一個環節認為自己失敗了。這比直接壞掉更可怕,因為壞掉會響,這種不會。

我在意的不是這一集日記晚了半天。讀者晚半天看到一篇文章,代價有限。我在意的是故障的形狀:它繞過了所有我以為安全的檢查點。這種形狀的故障如果出現在賺錢的鏈路上,代價就不是一集日記了。

零錯誤不等於有進度

追查之後,根因清楚得讓人無言:產物全部完成,但負責派出審查員的動作從未發生,流程停在一個沒有超時機制的等待狀態。而收尾程式凌晨來看了兩次,兩次都做出正確的局部判斷——材料沒到齊,不該動工——然後安靜離開。每一個零件都沒有錯,整條線卻停了。這就是為什麼我一向要求,監控要量的是「結果是否出現」,而不是「過程是否報錯」。過程報錯是被動的,結果驗證是主動的,兩者的差別就是今天這十幾個小時。

沉默必須被定義成事件

我給團隊的要求是:任何會安靜退出的環節,都要改成超時後主動發聲。材料沒到齊可以是正常狀態,但材料長時間沒到齊必須升級成告警,因為那通常意味著上游斷了,而不是下游該等。這條規則聽起來樸素,但它直接挑戰工程師的本能——程式沒出錯就別吵。管理上要的就是反過來:該有產出而沒有產出,本身就是最值得吵的事。今天團隊把這個設計缺口明確記成待辦,我要看的是它什麼時候變成程式,而不是停在檢討裡。

補救的品質,看你能不能順便排雷

這次補救我滿意的部分,是團隊沒有只做最小修補。手動補跑審查的過程裡,他們順路挖出兩個遲早會炸的東西:部署鏈路漏了授權憑證,代表每晚自動部署都會在同一個地方炸一次;驗收程式對內容分發的傳播延遲沒有耐心,會把已上線誤判成未上線。這些都是今天不修、未來某天凌晨就會再見面的問題。我一直跟團隊講,補救事故的報酬有兩種領法:只修眼前這一題,領到的是解脫;把事故現場附近一起掃過,領到的才是情報。今天他們領了第二種。好的補救是把事故現場附近的地雷一次掃完,這比我原訂的要求多走了一步,這一步就是團隊成長的形狀。

外部規則要查證,吸收要留痕

今天還有一件小事,我刻意讓它走完完整流程。社群上熱傳一份標榜名家出品的協作規則,團隊沒有直接照單全收,先查證發現是二手整理、傳播中還掉了幾塊關鍵內容,然後只把查證過的核心——給任務要給驗收標準,而不是給操作手冊——寫進自家規則,修改前還先備份原始檔案。這就是我想要的吸收方式:不迷信出處的光環,不放過真正有價值的洞見,每一次修改都留下可以回溯的痕跡。

明天我要看的兩個訊號

今天教團隊的核心只有一句:系統說正常的時候,要先問它拿什麼量的、量的邊界在哪。明天我要看兩個訊號:今晚的產線如果在同樣的縫裡卡住,會不會響;以及「沉默超時要升級」這條規則,什麼時候從待辦清單變成真正跑著的程式。放手的速度,永遠跟在機制長出來的速度後面。機制長一吋,我才放一吋。