DevOps與Agile有不少不一樣,但它們之間仍可發現不少共同點,這篇文章爲讀者揭曉。前端
DevOps和Agile之間有着明顯的關係。Agile是方法論,Scrum是框架,並DevOps隨着看板也落在了Agile的「傘」下。精益,大規模的Scrum,極限編程,水晶等。例如,咱們的Scrum團隊是一個Agile團隊,將做爲DevSecOps團隊運做。程序員
DevOps和Agile都不是關於工具的。二者都是關於思惟方式和文化的。若是作得正確,團隊將以不一樣的方式思考和採起行動,並取得更大的成果,包括更快的軟件交付,持續集成(CI),持續交付(CD),持續改進,工做軟件,更快的解決方案,更多的協做和更少的孤島。另外,在質量測試方面能看到的附加結果,更好的自動化以及改進的系統,過程和實踐。編程
共同的概念架構
它們共有的一些Agile概念與Agile宣言相關。前12條原則中最熟悉的是前4條:框架
我的和交互重於流程和工具運維
有效的軟件重於完整的文檔工具
客戶協做比合同談判更重要測試
響應變化賽過遵循計劃優化
有些DevOps概念,它們的共同點是CI / CD管道,優化軟件交付和質量,一種創新文化,服務水平的目標和指標(SLO和SLI),團隊之間的協做以及自動化。設計
DevOps和Agile的優點
DevOps加快了開發人員與運營之間的速度。此外,即便DevOps與工具無關,開發人員和操做人員團隊使用相同的技術堆棧這一事實,也在二者之間建立了共享的語言和同理心。咱們的Scrum團隊使用Jira來跟蹤全部錯誤,加強功能和團隊績效。
常見的DevOps工具是Jenkins,AWS,SonarQube,GitHub,Splunk和Ansible。儘管各個團隊的工具備所不一樣,可是思惟方式和文化應該在全部人之間是通用的。
DevOps還能夠減小開發人員與操做人員之間的分歧,就像瞭解彼此穿鞋的感受,由於如今它們能夠合而爲一。
Agile團隊不斷頻繁而快速地交付,並在此過程當中逐步適應。對於大多數軟件或產品交付團隊而言,兩週的衝刺工做彷佛是最佳選擇。Agile團隊能夠在其工做中使用DevOps原則(例如,實施CI / CD管道),與運維人員一塊兒工做的開發團隊可能以相同的兩週增量工做。
傳統上,DevOps引導着持續的部署、交付和集成。團隊合做已整合;問題和故障由開發、運營和其餘實體共同擁有,例如質量保證(QA)、測試、自動化等。
我相信,Agile和DevOps同呼吸共命運,它們之間有許多概念和理論交織在一塊兒。儘管我毫無疑問,如今仍將有對個人觀點的反對意見,甚至尖銳的異議,但我認爲咱們都贊成,Agile和DevOps致力於解決複雜性,提升質量並圍繞軟件設計進行創新。
寫在最後
DevOps與Agile的話題幾乎就像辯論iPhone與Android同樣,每一個人都有本身的看法,尤爲是在人們不一樣意的狀況下。
在撰寫以上這篇文章以後,閱讀了這篇文章的評論後,我想補充一些想法,包括我對該主題的某些見解發生了怎樣的變化。
個人觀點來自我如今的位置,也來自我曾經去過的地方。我曾經是系統管理員和基礎架構工程師,如今是密蘇里州一家大型公用事業公司的高級Scrum管理員。
個人團隊由六名前端軟件工程師和IT程序員分析師、一名業務分析師和兩名產品負責人以及我共同組成。最近,咱們瞭解到管理層但願咱們的團隊成爲DevSecOps團隊,所以咱們的核心Scrum團隊正在與DevSecOps團隊合做,以幫助咱們進行過渡。沒有人會天真地認爲這是一件容易的事情,但DevSecOps團隊的經驗使咱們對成功充滿信心。
咱們團隊的經理最近聘請了一位高級軟件工程師,他們將推進DevSecOps目標的實現。做爲一名scrum master,我將繼續專一於持續改進。團隊還很年輕,因此他們沒有豐富的工做經驗,可是他們很聰明並且有幹勁,還有很大的發展空間。此外,咱們整個組織都在經歷着Agile轉型,所以大多數人對Agile的全部事物都是陌生的,包括Agile宣言和五個Scrum價值觀。