當事件發生時,你的第一反應大概不會是「太好了! 一個學習的機會!」你當務之急是找出問題所在並盡快修復,以減少對客戶和終端用戶的影響,這本應如此。 這是我們在此學習路徑的另一個課程模組中討論的事件回應程式。
不過,當事件得以解決後,請務必跟進並從中獲取經驗。 如果我們不花時間從事件中吸取教訓,那麼它仍然只是失去時間、金錢、聲譽等:但是,如果該事件可以是資訊來源(以沒有其他來源的方式),我們實際上可以從中衍生一些好處。
事件后檢閱是事件回應生命週期分析階段的一部分。 不是所有事件後檢討的水平都是相同的。 有不同的方法可以進行這項過程,過度專注於問題的某些層面或以錯誤方式界定問題,可能會降低檢討的價值。
在這個單元中,你不僅會思考為什麼,還會思考如何最好地從事件中學習。 我們在後續單元中進一步說明「如何」的部分。
複雜系統失敗
你必須「學會從失敗中學習」,不是為了系統會失敗,而是因為系統必然會失敗。
在現代社會,我們今天使用的大多數系統,尤其是在雲端環境中,都相當複雜。 它們由許多互相聯繫且必須共同運作的部分組成,而整個系統的行為源自這些部分的互動,這種互動和每個部分自身的作用一樣重要。
可靠性 是在整個學習路徑中執行的線程,但複雜的系統絕不是百分之百可靠的線程。 這類系統的行為具有有趣和反直覺的方式。 其是由許多元件所組成,而系統的行為通常就是由這些元件之間的互動,以及元件本身作用所構成的。
如需本主題更深入的討論,一個很好的資源是標題為理查·庫克博士 的複雜系統如何失敗 的論文。 他是麻醉師和研究員,他花了數十年時間在複雜的系統中工作,特別是醫療保健系統中的患者安全。 在本文中,他解釋了從醫療保健到軟體作業等所有領域的複雜系統通用之處。
他的一些重點特別與事件分析和事件後檢閱程序有關:
- 複雜的系統內部潛藏著不斷變化的故障組合。 您的系統不可能在沒有出現多個缺陷的情況下執行。 失敗會因為改變技術、工作組織和消除失敗的努力而不斷變更。 您的系統永遠不會完美運作。
- 複雜系統會以降級模式執行。 複雜系統總是以「不完美」的狀態運行。 它們在那種狀態下繼續「運作」,因為它們包含許多冗餘,人們儘管面臨許多缺陷,仍然能夠維持它們的運行。 系統作業是動態的,元件會持續失敗並被取代。
- 災難總是在拐角處。 這些系統的複雜性意味著長期來看,重大系統故障是無法避免的。 複雜的系統一律具有災難性失敗的潛力,而且隨時都可能發生。 這種潛力無法被消除,因為它是系統固有的本質。
預防與回應
為了達到系統與服務所需的可靠性等級,您可以盡一切可能防止事件發生。 不過,由於這些系統的複雜性,如先前所述,預防並非總是可能的。
由於這樣的認識,我們必須採取兩管齊下的方法來應對失敗:首先是預防,其次是如果無法預防,就準備快速有效地回應。
預防與回應會相互連結。 當您的組織部署了大部分時間運作的複雜自動化時,可能會遇到此情況。 大部分時間它運行得很好,但當它失敗時,可能會出現重大故障,讓操作人員更難理解問題出在哪裡。
您所處理的系統不僅僅是由技術組成。 事實上,您不是在系統「上」或「與」系統「一起」工作;而是在系統中工作。 您是系統的一部分。 複雜的系統包括技術元件(硬體、軟體)和人類元件(人員及其個性、訓練和知識)。 我們的系統是包含人類的系統,人類在事情出錯時的反應 同樣重要,如同 防止最初發生錯誤一樣。
語言
語言很重要。 你在這單元會學到,我們會特別明確地選擇使用哪些術語,哪些是我們刻意不使用的。
我們使用的詞會影響我們對事件中所發生之事的看法,並可以大幅改變我們所學到的內容和程度。 這一發現來自航空、醫學、搜救、消防等安全關鍵產業的研究。
集體上,這一研究領域被稱為 復原工程 (RE)。
我們在科技領域的韌性工程還有許多需要學習的地方。
在本單元後面,我們會分享從RE文獻中學到的一些有用知識,包括人們在嘗試從失敗中學習時最常陷入的四個陷阱;但首先,我們需要定義一些術語。