我們一起聊聊克服 DevOps 瓶頸的四個步驟
在具有挑戰(zhàn)性的視頻游戲中升級所需的步驟與提升 DevOps 之旅所需的步驟非常相似。
譯自4 Steps for Getting Over a DevOps Plateau,作者 Andy Corrigan。
在貴組織的DevOps 采用歷程中,您會覺得已經(jīng)發(fā)揮了真正的潛力。然而,您可能會關(guān)注類似的組織,看到他們的表現(xiàn)更好,并想知道他們是如何做到的。您可能一時想不到下一步該怎么做。
請放心,這不是您的巔峰。這是一個瓶頸。
瓶頸很有趣:它們既令人欣慰,又令人沮喪。您并沒有落后,但停滯不前會成為一個真正的問題,因為它意味著您也沒有前進。
那么,您如何克服瓶頸呢?
好消息是,這可能比您想象的要容易,而且您可能已經(jīng)具備儲物柜中所需的技能。
您是否曾經(jīng)享受過基于技能的愛好,例如藝術(shù)、音樂或?qū)W習(xí)一門新語言?如果是這樣,您可能在學(xué)習(xí)過程中克服了許多瓶頸,有時甚至沒有意識到。
組織可以應(yīng)用相同的基本概念來克服 DevOps 瓶頸。
需要說服嗎?我將通過將此場景與我在愛好之一中遇到的挑戰(zhàn)進行比較來說明:格斗游戲。
對初學(xué)者進行快速解釋:格斗游戲是一種競爭性的 1 對 1 視頻游戲類型,其中兩位玩家分別控制一個色彩繽紛的角色,并在三輪比賽中決一勝負。
作為一個類型,高水平的比賽通常要求極高,因為需要動作輸入、特殊動作和復(fù)雜的連擊。成功的玩家需要快速的思考、更快的反應(yīng)和實時策略。
該類型中最廣為人知的特許經(jīng)營權(quán)是街頭霸王系列。如果您對它有所了解,您應(yīng)該明白本文的其余部分。
以下是您需要采取的步驟來克服瓶頸,無論是在格斗游戲中還是在持續(xù)交付領(lǐng)域:
1. 找到更有效地做事的方法
除非您知道存在問題,否則您無法解決問題。要了解您的表現(xiàn)為何停滯不前,您需要進行一些自我反省。
對我來說,“街頭霸王 6”(我目前玩得最多的格斗游戲)意味著意識到我的錯誤。我觀看比賽的重播,記下讓我措手不及或需要做得更好的事情。
當(dāng)我發(fā)現(xiàn)游戲中的弱點時,我會努力解決它們。如果我不斷對抗特定的攻擊模式,我會嘗試在訓(xùn)練模式中找到解決方案。這些解決方案通常會給我其他改進的想法。
對于 DevOps,您可能沒有重播和訓(xùn)練模式,但您確實有工具,它們可以為您提供類似的反饋。
您從每個部署周期中獲得的信息應(yīng)該是您發(fā)現(xiàn)自己做得好的事情和可以做得更好的事情的第一步。而持續(xù)交付 (CD)是什么,如果不是解決錯誤的過程?您部署更改,結(jié)果塑造下一個變更。
例如,查看您的管道部署后可能會發(fā)現(xiàn)一個測試花費的時間比預(yù)期長或失敗的次數(shù)比您意識到的多??赡苡幸粋€手動審批步驟阻礙了您,您可以更好地管理或刪除它。也許您的軟件規(guī)模已經(jīng)超出了您的部署能力,您需要考慮使用新工具來幫助簡化擴展。
切勿假設(shè)您的管道盡可能高效??傆懈嗟男士梢詮哪硞€地方榨取出來,找到它也可能帶來更多改進的領(lǐng)域。
如果您一開始沒有得到反饋,那么這是您需要解決的第一個問題。確保您的管道為您提供有用的信息,幫助您做出有意義的決策。它將幫助您更快地識別這些弱點。
2. 勇敢地放棄成功的技術(shù)
有時,讓您走到現(xiàn)在的工具和技術(shù)不再足以完成工作,您需要走出安全、熟悉的流程,嘗試一些新東西。
我一直在嘗試在“街頭霸王 6”中克服瓶頸。我在游戲的在線白金段位中停留了兩個月,一直無法晉升到鉆石段位(盡管我?guī)状味剂钊司趩实亟咏耍?/p>
原因是什么?我無法像他們懲罰我的錯誤那樣懲罰對手的錯誤。盡管承認這一點很痛苦,但幫助我輕松通過黃金段位的中間技術(shù)只能讓我在白金段位中走這么遠。
提高我的表現(xiàn)的唯一方法是放棄回報較低的技術(shù)并學(xué)習(xí)更好的技術(shù),這樣我才能在關(guān)鍵情況下兌現(xiàn)更多(這是一個正在進行的工作)。
同樣,當(dāng)流水線中的技術(shù)或工具已發(fā)揮到極致時,您應(yīng)該用能獲得更好結(jié)果的東西來替換它。
我理解做出這些決定時的猶豫。畢竟,您可能對幫助您大幅提升的工具情有獨鐘。您可能自然而然地傾向于遵循“如果它沒壞,就不要修理它”的古老諺語。
但有時選擇不改變只會強化現(xiàn)狀,并阻止您進步。熱愛幫助您走到現(xiàn)在的工具和策略,但當(dāng)它們阻礙您時,要勇敢地放棄它們。
3. 接受改變需要時間來適應(yīng)
無論我在格斗游戲的訓(xùn)練模式中練習(xí)多少新技術(shù)或連招,我都需要一段時間才能在比賽中有效地使用它們。
我需要讓新技巧成為肌肉記憶,以便在不假思索的情況下釋放它們。了解和執(zhí)行技術(shù)還不夠——我還需要了解使用該技術(shù)的正確情況。
學(xué)習(xí)這些東西只能在實戰(zhàn)中進行,這意味著我的表現(xiàn)可能會因此受到影響。我的排名可能會暫時下降,或者在我弄清楚事情時可能會輸?shù)粢恍┍荣?,但這沒關(guān)系!如果它能帶來長期更大的收益,那么短期內(nèi)的痛苦是值得的。
實施新流程、更換工具或提升團隊技能等增值活動可能會產(chǎn)生同樣的效果。
例如,學(xué)習(xí)新工具的細微差別需要時間。引入它可能會以您未曾考慮過的方式擾亂管道的一部分。如果您幸運的話,您可能會讓新工具直接投入使用。但您可能無法像花更多時間、耐心和經(jīng)驗?zāi)菢佑行У厥褂盟?/p>
在做出重大改變后,可能需要一點時間和試驗才能看到結(jié)果。但要抵制退回到安全地帶的沖動。畢竟,擁抱 DevOps 意味著使用可靠的證據(jù)和既定的研究來幫助制定決策。
只要您的整體表現(xiàn)呈上升趨勢,出現(xiàn)一點小問題是可以接受的。不要擔(dān)心波動。
4. 向他人尋求靈感
當(dāng)我在游戲中遇到困難時,圍繞格斗游戲建立的社區(qū)是一個極好的資源。社區(qū)中的人們了解該類型游戲的難度,并希望其他人也能享受他們所享受的東西,因此他們創(chuàng)建了資源來幫助學(xué)習(xí)之旅。那些親自見面玩游戲的人很樂意解釋如何克服困難的角色問題,或幫助您解決遇到的問題(當(dāng)然,前提是你們不在同一場比賽中競爭)。
同樣,DevOps 已發(fā)展成為不僅僅是一套最佳實踐。它也是一個不斷壯大、充滿熱情且歡迎新人的社區(qū),里面充滿了人們想要分享的經(jīng)驗和專業(yè)知識。
有很多機會與其他組織的同行聊天或聽取他們的意見。參加專門活動意味著您可以從行業(yè)專家那里獲得想法。網(wǎng)上有無數(shù)網(wǎng)絡(luò)研討會和指南可以激發(fā)您的靈感。
DevOps 還得到了諸如DORA 的 DevOps 狀態(tài)報告等易于獲取的研究的支持。這項研究可以幫助您了解在類似情況下對其他人有效的方法,并可以向您保證您走在了正確的道路上。
教訓(xùn)?始終為迎接下一個挑戰(zhàn)做好準(zhǔn)備
DevOps 中的性能停滯令人沮喪,但與其他情況(例如格斗游戲)不同,您擁有時間、經(jīng)過充分研究的理論和經(jīng)過驗證的實踐作為指導(dǎo)燈的奢侈,不受您的思維速度或反應(yīng)時間的阻礙。從這個意義上說,DevOps 是一條走得比較多的道路。
但是,當(dāng)您確實突破了瓶頸時,如何才能減少未來再次遇到瓶頸的可能性?對于 DevOps 來說,它與其他任何事情都是一樣的:您永不放棄,并且永不停止嘗試改進。