同樣的坑,為什麼每半年都要再踩一次?
有些工作上的問題很奇怪。你第一次遇到的時候,大家忙得要死,開會、找原因、問人、翻紀錄、找廠商、改設定,最後終於解掉。當下每個人都會有一種感覺: 「這次真的學到了,下次一定不會再發生。」 結果半年後,差不多的問題又出現,然後所有人又開始: 「這個以前是不是有遇過?」 「我記得好像有。」 「是不是某次上線有發生?」 「那時候是誰處理的?」 「以前好像有一份文件……」 最後還是重新調查一次。 這種時候我常常會想: 我們到底是真的學到了,還是只是當下把事情解掉了? 問題被解決,不代表經驗有被留下 這兩件事情其實差很多,一個 Bug 修好,代表問題解決了;一個版本順利上線,代表這次專案完成了;一個客戶抱怨被處理,代表事件告一段落。 但這些事情結束之後,真正有沒有留下: 為什麼會發生 當時怎麼判斷 哪一條路試過沒用 最後怎麼解決 哪個地方最容易漏 下次應該提前做什麼 這就不一定了。 大部分時候,我們留下的是「結果」,卻沒有留下「經驗」。 系統裡常常只剩下最後一個狀態 例如一張 Bug 最後會變成:Closed 一張 Task 最後會變成:Done 一個 Release 最後會變成:Released 這些狀態都沒有錯。 但它們幾乎沒有告訴下一個人: 「這件事情為什麼值得注意?」 假設半年後又有一個類似的第三方 API 專案。 你搜尋到以前的 Task。 上面寫:串接 Vendor A API 狀態:Done 你還是很難知道: 這個專案其實曾經因為正式環境 whitelist 晚了兩天,差點延期、QA 當初還漏測 timeout、Production YAML 也曾經少改一個欄位。 這些才是真正對下一次有幫助的東西。 可是通常,它們都留在人的腦袋裡。 我們很常把「經驗」誤會成「文件」 這也是一個很常見的情況。 有人會說:「我們有文件啊。」 確實有,SOP 有、需求文件有、技術文件有、Release note 也有,但文件不一定等於經驗。 文件比較像是在描述: 「正常情況應該怎麼做。」 經驗則比較像: 「實際做的時候,哪裡最容易出問題。」 例如 SOP 可能寫: 確認正式環境設定 確認 API credential 確認 callback URL 執行 QA 看起來都很合理,但真正的經驗可能是: Vendo...