Dave Farley:持續交付的基本原理

jopen 9年前發布 | 18K 次閱讀 持續交付

原文  http://www.infoq.com/cn/news/2015/03/dave-farley-continuous-delivery

Dave Farley倫敦QCon 2015大會上提出,盡管在過去的時間里軟件開發尚未達到最佳的水平,但當前的研究正表明持續交付的實行會帶來重大的改進。Farley說, 持續交付 給軟件開發經濟模式帶來了改變,使大家可以更迅速地驗證商業思路,并降低了缺陷率,當故障發生時也可以更加快速地恢復服務。

Farley在討論中展開討論了“軟件開發在過去的時間里尚未達到最佳的水平”,他引用了KPMG和Logica發布的一系列 報告 ,以及麥肯錫的質量統計報告。在過去的20多年里,軟件行業一直在努力改進開發方法論,其中包括將順序的方式(比如 瀑布法 )換成更加迭代化的過程(比如 Scrum ),但是Farley提出,我們卻未能從根本性錯誤中汲取到教訓。

軟件交付的根本目的是為客戶提供一個產品,為其驗證商業思路,最后為最終用戶提供價值。在客戶和商業之間反饋是必不可少的,迭代過程一定要執行得快速、廉價、可靠。

Farley提出,科學和科學的方法是人類最偉大的發明。在軟件交付中,實現快速的反饋周期是這種科學方法的關鍵。Farley說,科學方法的基本步驟包括描述問題、形成假設、推理論證和校驗求證。


描述 - 基于經驗和觀察進行猜測。

假設 - 提出一種解釋。

推導 - 對假設進行預測。

實驗 - 對推導進行試驗。

重復!

Farley接著說 精益思想 的原則(比如“一體化質量”、“尋求整體最佳”和“增強了解”)能夠大幅縮短軟件交付的周期。Farley舉了一個傳統軟件開發方法的例子,它的交付周期 有103天,我們再來看看換成精益的持續交付方法,交付周期只有57分鐘。短的周期時間使商業理念得以快速地驗證,從而改變了軟件交付的經濟模式。如果系 統引入了缺陷,快速的周期可以縮短MTTR(修復前平均時間),因為較短的周期會更易于推斷出要做哪些修改。

Farley引用敏捷軟件開發宣言的第一準則強調了持續交付的重要性,“我們的最高目標是,通過盡早和持續地交付有價值的軟件來滿足客戶”,并用一連串陳述句完整地定義了持續交付的概念:


敏捷宣言的第一準則。

持續集成的邏輯延伸。

著眼全局看開發。

每次提交創造一個候選版本。

發到生產環境中才意味著結束!

Farley說,持續交付的核心原則包括創建一個可重復的、可靠的軟件發布流程,保持每件事都在版本控制之下,一體化質量,重新定義“完成”就表示已經發布了,使每個人都對發布流程負責,實行持續的改進。

這個核心原則應包含在部署流程的實現內,它的目的是使“開發人員提交了代碼”就意味著這些修改是為客戶價值的提供,是針對任何會給生產環境帶來問題的變更的檢測和預防。 部署流程 應支持各類組織間涉及到軟件交付的工作協作,讓每個人都能夠看到系統內與流程相關的變更。

Farley說,常常會有一系列反對組織內部實施持續交付的論點。第一個證據是,“持續交付只適合小型的項目,它不可能用于大型的項目”,看看 谷歌的構建過程這個論點就不攻自破了。谷歌主要使用一個單獨整體的代碼庫,針對每次提交運行持續構建和測試,這個庫中有超過1億行代碼,每年有6千多萬次 的構建。

第二個論點是,“這風險太高了,發布始終是造成災難的因素”,讓我們看看亞馬遜構建過程就可以回擊這個論點。Farley說2006到2011年間,在亞馬遜上實現的持續交付將部署導致的運行中斷降低了75%,將部署導致的運行中斷分鐘數降低了90%。

最后一個反對實施持續交付的論點是這么說的,“這種方式合適簡單的網站,但我的技術太復雜了”。Farley用惠普的故事進行了反駁,惠普轉換了所有 HP LaserJet Firmware 產品開發方法,這是一個大型的、復雜的、基于硬件的項目,具有多個產品并歷時4年。實施持續交付后開發人員生產力得到了10倍的增長。

Farley最后的結論是實施持續交付會對商業產生積極的影響,并提出“持續交付改變軟件交付的經濟模式”。Farley引用了企業管理協會 (EMA)“DevOps和持續交付”2014年度報告大會的數據,有87%具有開發和運維職能的公司收入增長被評為“卓越的”,它們比2013年至少有 10%的收入增長,與此相反,只有13%具有開發和運維職能的公司被評為只取得“普通的”或者是更糟的增長。

Farley引用了Puppet實驗室的“ DevOps 2014年度狀態 報告 ”,說明持續交付促成更高的生產能力和更高的可靠性,故障發生時的12次服務都得到更加快速的恢復。Farley再次引用Puppet實驗室報告,說組織文化是IT性能和組織整體性能最重要的預測因子。


我們現在可以信心十足地斷言,高的IT性能與強勁的經營業績是分不開的,它有助于生產力、贏利能力和市場占有率的提升。

Dave Farley演講的幻燈片可以在倫敦QCon 2015大會網站日程頁上找到,可點擊“ 持續交付的基本原理(良好軟件開發的文化與實踐) ”下載。

查看英文原文: Dave Farley on the Rationale for Continuous Delivery

</div>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!