敏捷開發從最初作為革命性的軟件開發管理方法,如今逐漸成為了一種軟件開發的新常態。由于使得開發工作更有效率,敏捷開發在過去的十年間優勢盡顯:無論用戶還是開發團隊,都能更快更好地達成工作目標。
為什么說敏捷開發與DevOps是天生一對
隨著DevOps越來越流行,敏捷開發的吸引力也與日俱增。即使它們并不相同,也始終相輔相成:一個團隊如果完全沒有實踐過敏捷開發,DevOps也很難做得十分優秀,反之亦然。
DevOps的確可以被看作是敏捷開發原則的一種延伸。敏捷開發這一概念雖然早于DevOps誕生,但正因為有了DevOps相關實踐,敏捷開發才得以發揮更大的用途。敏捷開發的概念在運營與其他非IT領域中也被反復應用著,近年來DevOps也展現出了超越開發團隊范疇的優勢,而它對于企業級全球IT團隊的幫助還是最為顯著的。Gartner咨詢公司近期就建議,IT部門應該采取敏捷開發的實踐來幫助聚焦創新,同時采取DevOps確保新軟件發布的安全與穩定。
因此,對于新一代軟件的拓展與應用來說,敏捷開發與DevOps都是密不可分的。
快速與風險的平衡點
敏捷開發與DevOps共有的一項優勢體現在靈活度上,它們能夠讓開發者面對用戶不斷變化的需求作出響應,這一點在當今的數字化社會中彌足珍貴。敏捷開發縮短了從新需求產生到將相應新功能交付的周期。DevOps則使交付速度得以提升。
然而,實踐敏捷開發的團隊應該時刻牢記,如此快速的更新必須以堅實的IT基礎與牢固的軟件結構作為支撐。不僅如此,軟件的開發還需要在可靠的架構中進行,并且這種架構能夠時刻靈活地作出調整與改進,以保持敏捷性。
乍看之下,這種對架構的嚴格要求似乎違反了敏捷開發的原則與方法論,實則不然。一個合理的架構(至少在軟件領域)并不是一塵不變的,而是不斷演化的動態過程。一款軟件也不可能從開發之初就做到盡善盡美。
重要的是,開發團隊需要時常監測軟件系統架構,評估其效率并且識別違規組件或者潛在的安全漏洞。采用DevOps實踐與相關工具可以對軟件進行自動檢查,以判斷是否達到相關準則,以及相關更新是否帶來額外的風險與潛在的副作用。如果開發團隊既想滿足快速的目標,又希望回避風險,那么軟件系統架構必須時常更新,并且易于生成。如此一來,它們才能夠很好地支持日常的軟件的更新與長期的適應性調整。
確保軟件質量的標準
由于縮短了開發周期,利用敏捷開發能夠很好地滿足需求并且軟件能夠進行快速適應與調整。DevOps則能夠幫助提升質量,并且提供理想的條件對軟件的自動化與Fail-fast進行監測。
盡管敏捷開發與DevOps有著以上諸多好處,但它們并不能保證軟件的質量與較低的技術依賴性。即使目前廣為人知的Fail-fast方法能夠快速地發現軟件缺陷,IT部門還需要確保故障產生的影響與損失降到最低。而這很難通過被動的方式實現。
開發團隊應該采取更為主動的方式預先避免可能發生的問題,利用相關工具比照國際通行的質量標準,對代碼語句結構、設計結構進行檢測,防患于未然。美國軟件質量聯盟(CISQ)制定的標準就是一個很好的選擇。CISQ標準考量軟件的總體架構藍圖,并且能夠用于管理外包開發商的協議中,識別代碼與軟件開發架構中存在的主要問題。
采用這樣的標準體系,就能夠確保軟件質量并且幫助團隊發現軟件中存在的風險。這些風險在軟件開發過程中往往不易被察覺,一旦爆發則會導致系統突然崩潰。其實,開發團隊只要對質量問題稍加關注,便能獲得長期穩固的應用軟件架構,何樂而不為呢?
解決老舊技術問題
由于軟件通常是大型應用系統的一部分,開發團隊時常需要平衡老舊技術與敏捷開發之間的矛盾。在許多情況下,這些陳舊的軟件技術由不熟悉敏捷開發的團隊負責維護,涉及到的技術也沒有專門為敏捷開發或DevOps進行過優化。同樣的,敏捷開發團隊在搭建與老舊技術相連的新組件時,對自身受到的局限性也知之甚少。
這就容易導致工作流出現問題,并且大大提高了項目的風險。為了解決這個問題,許多團隊采取了Agile-DevOps方法對老舊技術進行改造,從而在運營層面獲得更多的把控度。
軟件質量標準助敏捷開發與DevOps更上一層樓
開發團隊應該從架構的角度出發,在新組件與老舊組件之間建立平穩、高效與清晰的相互關系。這種方法也能夠幫助開發團隊應對老舊的、沒有記錄在案的代碼,并且確保新的前端服務不會過度觸發老舊的后端應用。
未來的挑戰
2017年,各個開發團隊面臨的主要挑戰將會是如何將全面的、構架與系統級的視角整合到現有的敏捷開發與DevOps實踐中去。也許應該將新功能的市場化暫且放在一邊,更多地關注系統層面的分析,讓敏捷開發與DevOps發揮最大的潛能。
如果將Fail-fast與系統層面的分析手段相結合,就能快速解決Bug并且積極地預防大型應用軟件故障的發生。而實踐敏捷開發與DevOps的團隊若要更上一層樓,就必須采用例如CISQ的軟件質量標準,以提升軟件質量、降低軟件風險與技術依賴度的思路來武裝自己,這對于項目本身與商業的成功都是至關重要的。
本文作者是軟件質量檢測與分析行業領軍企業CAST-產品開發執行副總裁OlivierBonsignour。