將DevOps視為哲學——實施DevOps的絕佳方式

陳琦聊測試發表於2020-09-14

經過此前的文章介紹,相信大家都對DevOps有了簡單的瞭解。(回顧DevOps是什麼、生命週期點這裡:《DevOps生命週期,你想知道的全都在這裡了!》)DevOps的概念和工具在近些年呈現如火如荼的趨勢,且根據預測將持續增長。但DevOps並非一朝一夕就能實現,而是需要在循序漸進的使用中愈發熟練、完善。

您可能已經注意到,人們決心在他們的環境中實現DevOps,並期望從中獲得更大的好處。誠然,DevOps可以讓軟體開發之旅走上快車道,但在本文中將展示DevOps的另一面,即將DevOps視為一種哲學。事實就是,僅僅依賴工具並不能幫助實現目標,還需要有心態上的改變。

是的,DevOps並不完全是為了更快的軟體開發和交付。事實上,它促進了協作環境,在這種環境中,軟體可以更高效、更少Bug、更快速,而且更重要的是,以使用者為中心。 enter image description here

DevOps的定義指出DevOps彌合了開發和運維之間的鴻溝。DevOps的最終目標是縮短軟體開發生命週期,但是不應該忽視軟體的質量。許多關鍵的技術組織,如亞馬遜、Netflix、NASA、IBM、微軟、谷歌、Facebook等,都在他們的開發環境中使用DevOps作為方法論。

但是你真的理解DevOps這個詞及其整套理念嗎?

不能僅僅通過減少軟體交付的時間就說你在做DevOps或敏捷。如果你的組織正在做DevOps,那麼團隊中的每個人都必須參與到整個DevOps規程中,該規程注重於強大的協作和早期的反饋。

從無到有的DevOps旅程

根據Gartner的調查,到2023年,90%的DevOps計劃是由於領導方法的限制而不是技術原因而失敗。DevOps從無到有的旅程將需要每個人的努力和關注,因為DevOps著眼於整個團隊而非個人。這就是觀念在採用成功的DevOps流程中可以發揮重要作用的地方。

當你考慮理念問題時,以下幾點是必須具備的:

●能夠理性思考特定問題

●能夠獨立清晰地思考

●以更廣闊的視角分析和解決問題

當你接受“DevOps作為一種哲學”以及有效的DevOps工具時,軟體開發方法將被轉移到深遠且快速的軟體交付上,並與每個階段的使用者反饋保持一致。

有許多傳統的軟體開發模型,比如瀑布模型、螺旋模型、迭代模型、極限程式設計模型等等。另一方面,DevOps是一種基於敏捷原則的新文化,它在較短的時間內重視軟體的方法、過程和質量。

為什麼DevOps的轉變對組織來說會如此困難?DevOps之旅對大多陣列織來說都是痛苦的,因為:

●人們抗拒轉變

●團隊不協調及精力有限

●對自動化不切實際的期待

●專注於上述因素,就可以逐步在組織中為DevOps營造一個建設性的氛圍。

enter image description here

自動化被誤解了

我們經常聽到DevOps使用CI(持續整合)和CD(持續交付)來自動化軟體開發管道。但這只是部分真相。

毫無疑問,DevOps指的是軟體開發、測試和部署的自動化,但這並不意味著不需要人工智慧和協作。雖然有些流程可以毫不費力地實現自動化,但有些流程需要高階功能。記住“導致devops失敗的往往是人,而不是流程”,Gartner研究總監George Spafford如是說。

為了在競爭中獲得優勢,應該關注軟體開發的質量。自動化是必不可少的,並且通過消除冗餘任務節省了您大量的時間和精力。

但是,更重要的是質量標準,通過人和機器共同維護。在這裡,人們可以幫助將提議的開發圖與開發的系統相匹配,這樣他們就可以更加關注客戶的滿意度。

改變不是一朝一夕發生的,要循序漸進

你不能指望在一兩天內就能成功實現DevOps。它可能需要幾天、幾周甚至幾個月的時間才能成熟。在這裡,“將DevOps視為一種哲學”可以幫助建立一種心態——以緩慢而堅定的心態幫助企業實現根本改變。

軟體不再只停留在網頁端和移動端範圍內。它正在超越機器學習、人工智慧、大資料分析、物聯網的崛起。

在數字時代,需要持續的聯絡和以質量為導向的心態。在這樣的場景中,DevOps之類的概念可以讓您獲得同步的好處,從而通過以客戶為中心的軟體解決方案交付價值。

不要僅為了更快的交付而實施DevOps,需要做的是:

●確認DevOps的真正優勢

●依靠“DevOps哲學”來帶來文化變革

●為組織定義自動化和協作

●在進行下一步工作之前,注意整體基礎設施

●確定目標和衡量標準

●不要害怕失敗

●開發整個工具鏈並培訓員工

人員和流程必須按照共同的思維方式工作,以便向終端使用者交付價值。這個原則適用於任何型別的軟體開發。

作者:陳琦,資深敏捷測試顧問,作為國內知名專案管理軟體——禪道的團隊成員,主要負責開源自動化測試管理框架——ZTF的開發工作。擁有十多年的敏捷過程實踐經驗,現致力於測試自動化和DevOps相關領域的實踐和研究。

相關文章