想成為首席軟體工程師?請放下編譯原理來學習彈性工程!

發表於2021-06-18

如果你想成為一名影響力的員工/首席工程師,請放下編譯器,學習彈性工程!是的,毫無疑問,深度編譯器工作原理可以對軟體世界產生巨大影響,但這是一個專業,通常對僱用你的公司影響很小!還需要進一步學習系統理論。

點選標題見彈性工程論文(https://github.com/lorin/resilience-engineering):

  • 自動化
  • 設計錯誤
  • 人為因素/人體工程學
  • 認知建模
  • 認知架構
  • 腦力勞動
  • 態勢感知
  • 認知錯誤
  • 技能和培訓
  • 介面設計

一個有彈性的組織可以有效地適應意外。

當我們談論設計高可用性系統時,我們通常會涉及諸如冗餘、重試、回退和故障轉移等技術。我們考慮可能會出現什麼問題(例如,伺服器故障、網路分割槽),並設計我們的系統以優雅地處理這些情況。

另一方面,彈性描述了系統處理設計人員無法預見的問題的能力。您可以將健壯性視為能夠很好地處理已知的未知數,將彈性視為能夠很好地處理未知的未知數。

 

改變對事故和安全的看法

彈性工程作為一個領域出現在安全科學界。這就是為什麼您會經常看到航空和醫學以及其他安全關鍵領域(如海上、太空飛行、核電和鐵路)的示例。

由於這段歷史,我們與彈性工程相關聯的早期論文是對以前對事故和一般安全的思考方式的反應。

請注意,傳統的安全方法通常側重於最大限度地減少與人類工作相關的差異,使用諸如檔案化程式和執行機制之類的技術來偏離它們。

 

新面貌/新觀點

“新面貌”或“新觀點”是指對事故如何發生的看法發生變化,重點是瞭解事件中參與者採取的行動如何合理,考慮到這些參與者在事件發生時所掌握的資訊.

隆德大學的 Johan Bergström 擁有三部優秀的短片(<10 分鐘):

兩篇很棒的介紹性論文(唉,都是付費的)是:

一本關於在事件調查中將這些想法付諸實踐的好書是:

 

複雜系統

有沒有想過為什麼彈性工程提倡“沒有根本原因”?

彈性工程中一個反覆出現的主題是關於系統的整體推理,而不是將事物分解成元件並分別推理元件。這種觀點被稱為系統思維,這是一種在彈性工程社群中具有影響力的思想流派。

當您將世界視為一個系統時,原因的概念變得毫無意義,因為無法孤立單個原因。相反,世界是一個錯綜複雜的影響網路。

您會經常聽到“社會技術系統”這個詞。這種語言強調系統應該被認為包括人類和技術,而不是孤立地考慮技術方面。

  • Richard I. Cook 的《複雜系統如何失敗》是一個很好的起點。這是一篇簡短的論文,非常容易閱讀。
  • 西德尼·德克爾 (Sidney Dekker) 的《陷入失敗》 ( Drift into failure)是一本面向非專業讀者的書,因此可讀性也很強。Dekker 大量借鑑系統思維,提出了一個關於複雜系統如何演變成不安全狀態的理論。

 

自動化

我們軟體人員與安全關鍵世界的共同點是自動化的越來越多的採用。自動化帶來了挑戰,而這些挑戰的本質是許多彈性工程論文的主題。

您可能會在自動化上下文中聽到“聯合認知系統”這個詞。該術語指的是由人類和軟體組合組成的執行認知工作的系統。有一個完整的研究學科研究聯合認知系統,稱為認知系統工程,最初由 David Woods 和 Erik Hollnagel 開發,他們兩人後來都在發展彈性工程領域發揮了重要作用。

由於像 Woods 和 Hollnagel 這樣的彈性工程研究人員紮根於認知系統工程,並且由於社會中軟體自動化的使用不斷增加,因此該社群非常關注與自動化使用不當相關的潛在脆弱性。

 

作為模型的邊界 (Rasmussen)

已故的 Jens Rasmussen 是彈性工程社群中極具影響力的人物。

在這篇被廣泛引用的論文中,拉斯穆森提倡採用跨學科、基於系統的方法來思考事故是如何發生的。他認為事故的發生是因為系統遷移到了危險的邊界,而這種遷移發生在正常工作的過程中。

這是該論文中模型的描述:

想成為首席軟體工程師?請放下編譯原理來學習彈性工程!

大衛伍茲

我們已經參考了 David Woods 撰寫或合著的幾篇論文。伍茲Woods 是彈性工程領域的一股自然力量,在建立該領域本身方面發揮了關鍵作用。伍茲非常多產,並介紹了與彈性工程相關的各種概念。

Woods 對適用於各種不同型別系統的彈性工程原理感興趣:無論我們是在談論生物有機體中的器官還是像 NASA 這樣的組織。

因為他對一般原則感興趣,所以他的許多論文都是在非常抽象的層面上寫的,他在其中討論了通用概念,例如自適應行為單位或飽和度。

 

相關文章