【編者按】對于企業來說,前途未卜的改變往往很難發生,就像航海一樣,重復的往往是久經驗證的安全航線,這點在DevOps文化的構建上同樣如此。近日,CA Technologies的高級策略師Peter Waterhouse撰寫了企業構建DevOps文化的5點建議,由OneAPM工程師翻譯。
以下為譯文
基于我們的認知,在食物鏈中人類和其他動物并無二致,都遵循以生存為基礎的行為模式。如果我們今天吃的食物沒有問題,明天就會繼續吃。如果我們能在一條沒有危險的路線上航行,就會一次又一次重復地按原路往返。
上面的比喻很恰當地解釋了“改變之路異常艱難”的說法。進化史教會我們盡量避免那些可能導致傷害或死亡的東西,無論是在生活還是在商業中。
但是,商業叢林的瞬息萬變遠遠超過以往任何時候,快節奏和無處不在的技術革新已經殘忍地摧毀曾經一成不變的商業模式。現在我們正面臨選擇,是從安樂窩中走出來還是被活活吃掉。
當下,企業需要常規和持續的創新,但還有許多企業仍然更習慣在安全模式下操作,這個問題亟待解決。對于這些企業,對改變的恐懼占據著統治地位——即使公司失去市場份額,人才也在迅速流失。
如果領導層幡然醒悟要致力于建設創新文化,情況仍然有所轉機。在IT業這點尤其重要,因為IT行業正是創新的發源之地。為了抓住這次機會,眾多企業紛紛向敏捷方法和DevOps拋出橄欖枝——選擇快速且高質量交付的軟件實踐。在構建文化的過程中,每一步都不容易。以下五個建議會有助于構建成功的DevOps:
1. 避免將DevOps與其他團隊隔離——任何新舉措的實施自然傾向于組建一個獨立的團隊。大多時候,這意味著會引入一些外部專家,在開發和運營部門選出最有利最優秀的內部人才組合,然后進行明顯不同于其余IT部門的操作。
但我們必須記住,DevOps不是功能,而是開發和運維共同合作的一種模式。因此,構建一個獨立團隊無非是創建另一個silo,因為“精英”團隊往往會制造更多的摩擦,阻礙構建的進程。
DevOps團隊在程序的早期生產階段有重要價值,但只作為一種過渡性的實踐。在這種情況下,團隊成員被特許來傳播知識;構建跨企業的橋梁,深入實踐后即解散并深根于企業。
2. 即使是精英,也不能是“破壞性”的自戀狂——強大的DevOps文化基于合作和同理心;成員之間可以分享成功,也能從失敗中汲取教訓。但是,如果新的舉措由那些追名奪利的人來主導——尤其看重個人榮譽和福利的人,必然會影響DevOps文化的構建。
但現實常常事與愿違,這類人總是精力充沛,非常適合率領新興的重要文化變革舉措。但能量和智慧不一定相符,所以在組建團隊時,更需要的是善于思考的人,而非夸夸其談者。那些可能是性格內向的人,有著豐富知識和情感智慧的網蟲們,往往更能促進建立一個生機勃勃的文化。
3. 獎勵奇思妙想和瘋狂創意。有沒有想過那些類似AirBnB的卓越商業創意是從哪里來的?大概就是那些喜歡不斷制造問題來挑戰現狀的人,提出這樣的想法——為什么不把空置房間轉化為盈利的小酒店呢?
在DevOps環境下,我們可以使用類似的方法。在過程執行時尋找方法,再根據直覺提出可替代方法。例如,如果變革管理過程是完全錯誤的,我們是否可以找到提高敏捷開發自動化的方法?為什么我們要等待生產監控,如果在編程和測試中創建監控,能否進一步提高彈性?
強大的DevOps文化總會大方地鼓勵優秀的創意,并予以嘉獎。否則,偉大的想法則會迷失方向或遭到忽視,甚至更糟地被那些精英和自戀狂所抹殺。
4. 尊重失敗——如果你想打退堂鼓,通過以往的失敗經歷尋找一個放棄的理由并不難。正如有人這樣說“我們在5年前就嘗試過敏捷策略,但它就是一架空殼——DevOps也不會好到哪里去!”悲觀主義正如毒藥會侵入人心,在關上風險大門的同時,也阻礙了探索數字化未來的道路。
沒有人喜歡談論失敗,但推進DevOps的關鍵是在出現問題時,可以勇于承擔錯誤。失敗是把雙刃劍,重點在于是否能從每次失敗中獲得學習經驗。避口不談并不能解決問題,還不如把它們當作建立美好未來的墊腳石。
所以,從失敗中走出來,需要團隊間的相互支持。管理應該雙管齊下,既建立獎勵合理冒險的激勵機制,同時消除任何可能扼殺創新思維的制度。
5. 提升人和進程的規范——即使偉大的DevOps工具,DevOps也不提供任何不良進程或企業間摩擦所的優化途徑。在大多數情況下,缺陷和延遲仍然歸咎于那些實施嚴格政策,或依靠人工及容易出錯的傳遞流程。
從制造業借鑒的一種好方法是在企業中采取“value walk”。這需要花時間與工作中的人進行交互(開發、測試、發布等)——不是為了發現錯誤,而是理解那些可能會增加浪費和技術債務壓力的情景,然后可以從自動化上得到補救。
DevOps最近確實非常熱門,但是不要被帶偏,改變仍然舉步維艱。在開始“DevOps”之前,必須確保你有合適的領導、同事和變革的思想,讓每個人都積極參與其中,才能開啟完美的蛻變之旅。