歡迎光臨
每天分享高質量文章

DevOps有“政治傾向性”

 

我在這裡斷言:很多人都認為技術及技術相關部分,本質上與政治無關。但事實並非如此。在接下來的10分鐘里,我會試著證明我的觀點,希望其中的有些觀點可以取得大家的認同。
進一步澄清一下:我所說的政治,並不是類似於“我投票給綠黨!”或者“我是自由主義者!”的政治。而且從組織的角度來看,我們願意因為某些考慮,而做出一些權衡。
需要權衡或稱為分歧的關鍵是:我們所創造的技術是我們內在信仰系統的一種表達。如何構建事物是以一種非凡的方式來展現我們內在的價值體系。

 

DevOps是非範式的

 

DevOps這個詞流傳甚廣,對它的理解也因人而異。Jez Humble將其定義為一種系統的操作方式,所操作的系統具有快速變更的特征,例如I.E.,CI/CD,快速反饋環等。還有人將它定義成操作人員,他們使用開發人員的樣式來更加快速的運行和部署應用。但在很大程度上的事實卻是:存在一種偽共識,認為DevOps與開啟組織敏捷性有關係。卻沒有提及敏捷對不同的組織會意味著不同的東西。
從組織的角度來看,我認為DevOps沒有規範的實現方法。如果這麼說有點難以理解的話,讓我進一步展開。因為語言對不同的人有不同的含義,所以我要在這裡做些說明,概述一下我所說的“不同的實現”是什麼意思,但不提供我個人的觀點。一個組織通常有以下幾個關鍵點:
團隊管理的基礎設施 VS 集中式管理基礎設施
團隊有自己的基礎設施嗎?還是有人在中間專門提供運行?

如果是前者,開發團隊是否必須學習運維?意味著開發人員是否要對自己的基礎設施負責?他們是否需要隨時保持響應?他們是否可以以任何想要的方式運行他們的應用?
而如果是後者,那麼是否意味著有一個專職的操作團隊?意味著開發人員是否只需關註自己的應用?那非工作時間的應用支持怎麼辦呢?換個角度,如果不清楚問題的根源是應用程式還是基礎設施時,怎麼辦呢?
選擇一種技術時,存在組織預設和指引嗎?您的組織是否偏好某一組特定的技術?

如果組織沒有任何預設意見,是否意味著團隊可以運行任何想要的東西?如果是這樣,是否有一種機制確保任何人都知道每個人在做什麼?當外部團隊從安全性或可用性的角度影響了某個服務時,如何看待責任問題?
如果組織有某些預設意見,如何判斷一個團隊是否可以偏離?如果一個團隊決定偏離,決策人員是否有足夠的背景關係信息(業務和技術)來做出決策?我們又如何確定以上的信息?
如果組織有特定的要求,這是否意味著有業務單元會在更新、更好的技術選擇上進行創新?如果是,他們可獲得足夠的支持嗎?相反,其他團隊的交付速度是否會成為瓶頸?
以上選項信息,我們會根據我們認可的價值和對事物的評價選擇其中的某個選項。

 

沒有正確的選擇,只有深思熟慮後的結果

 

我很抱歉不能在此給出一個解決方案,我能夠且願意提供的最好意見是深思熟慮。在選擇一種或另一種方法時,都需要慎重考慮多個因素——在理想的情況下,所做的選擇都是透明的和經過考慮的。然而,在大多數情況下,它們都是偶然的或隨機的。
因為選擇都是由人決定的,所以,選擇往往受限於決策人知道多少以及知道哪些部分。也許他們所在的公司選擇了一條不成功的道路。也許他們已經在這個組織工作多年,並且經歷了其他所有方法都失敗了(直接或間接的)。
選擇受限於人際關係,儘管我很討厭這麼說。但人們更傾向於聽信於和自己關係好或相處融洽的人。“我更喜歡和不會給我帶來壓力的人在一起。我們交談的頻率以及交談的物件影響著自己的決定。”我在某種程度上,對此表示同情。
選擇受限於我們的個人傾向,通常會堅持自己的觀點。我想將有強烈感的觀點和能嚴格控制的觀點區分開來。完全有可能有選擇某個觀點的強烈感,但一旦有足夠的證據支持它,就可以理解為能嚴格控制的觀點,而選擇這個觀點。
選擇還受限於組織內部的價值體系。如果我們允許團隊管理自己的基礎設施,這是否意味著我們信任他們?如果我們不這樣做,是否意味著我們希望團隊能夠安全地部署應用?
綜上所述,選擇會因人而異,由我們所掌握的知識,我們周圍的人,以及我們改變立場的能力來決定。最終選擇的結果都是基於我們的個人信仰體系。這聽起來很像政治。

 

這聽起來並不新奇

 

這個主題的不同方面以前都討論過,可能有更好的方法來闡述這個事實。如康韋定律說,一個組織創建的軟體是該組織通信樣式的一個提喻。Edgar Schein認為,我們的價值觀影響著我們的文化,而文化又影響著我們所創造的人工製品。

Andrew Cosgriff曾經反覆地痛苦地表達:一切都是一種權衡。
我想說的唯一一件事是:在我們開始談話之前,我們要敏銳地意識到以下這些因素。

 

這意味著什麼?

 

我知道我並沒有給出一個固定前進的路徑,但是我認為DevOps的“政治傾向”意味著有些事情非常重要。
強烈的觀點,鬆散的把控。有強烈的觀點並沒有錯。它鼓勵我們去告訴自己,用知識武裝自己,這樣我們就能捍衛自己的觀點。但當我們在面對相反的證據時不放棄我們的想法,或者我們在選擇事實時變得有選擇性時(“架構Y很好地應用於X公司,所以它在其他地方應用也沒有問題!”)強烈的觀點就不再強烈啦。
同理心就是一切。“他者化”描述的是將他人貼上不屬於這個群體標簽的粗暴行為。對方也存在同樣的心理。例如:“別聽索爾的,他說了那麼多廢話。”這將產生排斥的效果,讓我們在理解他人的觀點時,無形中就帶入了偏見。在DevOps的背景關係中,很容易陷入自動忽略對立陣營觀點的趨勢,而不是將他們的觀點理解為對方彙集經驗的結果,甚至可能會質疑這些經驗。
持續的溝通是關鍵。意見必須經過考驗、公開發表和公開辯護。當我們社會中那些更應該受到譴責的部分擁有了同等的支持空間時,真理才會繁榮起來;這也會影響其他人——包括那些還沒有下定決心的人(騎牆派)。
不要試圖做出正確的選擇,而是儘量選擇深思熟慮後的結果。至少,在DevOps背景關係中,沒有最終正確的選擇,這實在是太難啦!我們必須努力確保我們的選擇中,那些因素是被公平對待,沒有裙帶關係,要謹記自己的偏見。
在一個沒有客觀“正確”做事方式的世界里,我們能做的最好的事情就是確保我們被外界所告知:我們是公平的,我們保持謙虛,並一直互惠彼此。

原文鏈接:https://medium.com/@jpcontad/devops-is-about-politics-29154bca223c
赞(0)

分享創造快樂