將DevOps視爲哲學——實施DevOps的絕佳方式
本篇目錄
您可能已經注意到,人們決心在他們的環境中實現DevOps,並期望從中獲得更大的好處。誠然,DevOps可以讓軟件開發之旅走上快車道,但在本文中將展示DevOps的另一面,即將DevOps視爲一種哲學。事實就是,僅僅依賴工具並不能幫助實現目標,還需要有心態上的改變。
是的,DevOps並不完全是爲了更快的軟件開發和交付。事實上,它促進了協作環境,在這種環境中,軟件可以更高效、更少Bug、更快速,而且更重要的是,以用戶爲中心。

DevOps的定義指出DevOps彌合了開發和運維之間的鴻溝。DevOps的最終目標是縮短軟件開發生命周期,但是不應該忽視軟件的質量。許多關鍵的技術組織,如亞馬遜、Netflix、NASA、IBM、微軟、谷歌、Facebook等,都在他們的開發環境中使用DevOps作爲方法論。
不能僅僅通過減少軟件交付的時間就說你在做DevOps或敏捷。如果你的組織正在做DevOps,那麽團隊中的每個人都必須參與到整個DevOps規程中,該規程注重于強大的協作和早期的反饋。
從無到有的DevOps旅程
根據Gartner的調查,到2023年,90%的DevOps計劃是由于領導方法的限制而不是技術原因而失敗。DevOps從無到有的旅程將需要每個人的努力和關注,因爲DevOps著眼于整個團隊而非個人。這就是觀念在采用成功的DevOps流程中可以發揮重要作用的地方。當你考慮理念問題時,以下幾點是必須具備的:
●能夠理性思考特定問題
●能夠獨立清晰地思考
●以更廣闊的視角分析和解決問題
當你接受“DevOps作爲一種哲學”以及有效的DevOps工具時,軟件開發方法將被轉移到深遠且快速的軟件交付上,並與每個階段的用戶反饋保持一致。
有許多傳統的軟件開發模型,比如瀑布模型、螺旋模型、叠代模型、極限編程模型等等。另一方面,DevOps是一種基于敏捷原則的新文化,它在較短的時間內重視軟件的方法、過程和質量。
●人們抗拒轉變
●團隊不協調及精力有限
●對自動化不切實際的期待
●專注于上述因素,就可以逐步在組織中爲DevOps營造一個建設性的氛圍。

自動化被誤解了
我們經常聽到DevOps使用CI(持續集成)和CD(持續交付)來自動化軟件開發管道。但這只是部分真相。毫无疑问,DevOps指的是软件开发、测试和部署的自动化,但这并不意味着不需要人工智能和协作。虽然有些流程可以毫不费力地实现自动化,但有些流程需要高级功能。记住“导致devops失败的往往是人,而不是流程”,Gartner研究总监George Spafford如是说。
爲了在競爭中獲得優勢,應該關注軟件開發的質量。自動化是必不可少的,並且通過消除冗余任務節省了您大量的時間和精力。
但是,更重要的是質量標准,通過人和機器共同維護。在這裏,人們可以幫助將提議的開發圖與開發的系統相匹配,這樣他們就可以更加關注客戶的滿意度。
改變不是一朝一夕發生的,要循序漸進
你不能指望在一兩天內就能成功實現DevOps。它可能需要幾天、幾周甚至幾個月的時間才能成熟。在這裏,“將DevOps視爲一種哲學”可以幫助建立一種心態——以緩慢而堅定的心態幫助企業實現根本改變。
軟件不再只停留在網頁端和移動端範圍內。它正在超越機器學習、人工智能、大數據分析、物聯網的崛起。
在數字時代,需要持續的聯系和以質量爲導向的心態。在這樣的場景中,DevOps之類的概念可以讓您獲得同步的好處,從而通過以客戶爲中心的軟件解決方案交付價值。
●確認DevOps的真正優勢
●依靠“DevOps哲學”來帶來文化變革
●爲組織定義自動化和協作
●在進行下一步工作之前,注意整體基礎設施
●確定目標和衡量標准
●不要害怕失敗
●開發整個工具鏈並培訓員工
人員和流程必須按照共同的思維方式工作,以便向最終用戶交付價值。這個原則適用于任何類型的軟件開發。
作者:陳琦, 資深敏捷測試顧問,作爲國內知名項目管理軟件—— 禅道 的團隊成員,主要負責開源自動化測試管理框架——ZTF的開發工作。擁有十多年的敏捷過程實踐經驗,現致力于測試自動化和DevOps相關領域的實踐和研究。

