官术网_书友最值得收藏!

1.3.1 從瀑布式開發到敏捷開發

談到DevOps的發展史,我們需要先談一下敏捷開發。

敏捷開發是面向軟件的,而軟件依賴于計算硬件。我們知道,世界上第一臺計算機是在1946年出現的,因此,軟件開發相對于人類歷史而言,時間并不長。相對于軟件開發而言,人們更擅長工程學,如蓋樓、造橋等。為了推動軟件開發,1968年,人們將工程學的方法應用到軟件領域,由此產生了軟件工程。

軟件工程的方式有其優點,但也帶來了不少問題。最關鍵的一點是軟件不同于工程。通過工程學建造的大橋、高樓在竣工后,人們通常不會對大橋或高樓的主體有大量使用需求的變更;但軟件卻不同,對于面向最終用戶的軟件,人們對于軟件功能的需求是不斷變化的。在瀑布式開發模式下,當客戶需求發生變化時,軟件廠商需要修改軟件,這將會使企業的競爭力大幅下降。

傳統的軟件開發流程是:產品經理收集一線業務部門和客戶的需求,這些需求可能是新功能需求,也可能是對產品現有功能做變更的需求;然后進行評估、分析,將這些需求制定為產品的路線圖,并且分配相應的資源進行相關工作;接下來,產品經理將需求輸出給開發部門,開發工程師寫代碼;寫好以后,就由不同部門的人員進行后續的代碼構建、質量檢驗、集成測試、用戶驗收測試,最后交給生產部門。這樣帶來的問題是開發周期比較長,并且如果有任何變更,都要重新走一遍開發流程。在商場如戰場的今天,軟件一個版本推遲發布,可能到發布時這個版本在市場上就已經過時了;而競爭對手很可能由于在新軟件發布上快了一步,而迅速搶占客戶和市場。

正是由于商業環境的壓力,軟件廠商需要改進開發方式。

2001年年初,在美國猶他州滑雪勝地雪鳥城(Snowbird),17位專家聚集在一起,概括了一些可以讓軟件開發團隊更具有快速工作、適應變化能力的價值觀,制定并簽署了軟件行業歷史上最重要的文件之——捷宣言。

敏捷宣言中的主要價值觀如下:

·個體和互動高于流程和文檔。

·工作的軟件高于詳盡的文檔。

·客戶合作高于合同談判。

·響應變化高于遵循計劃。

有了敏捷宣言和敏捷開發價值觀,后續產生了對應的開發流派。主要的敏捷開發流派有極限編程(XP)、Scrum、水晶方法等。至此,敏捷開發有理念、有方法、有實踐。隨著云計算概念的興起以及云計算的不斷落地,敏捷開發也實現了工具化。

主站蜘蛛池模板: 潞城市| 兖州市| 富民县| 治县。| 新乡市| 庆元县| 大安市| 正定县| 榆中县| 恩平市| 望江县| 定襄县| 新田县| 长春市| 宾阳县| 承德市| 惠州市| 手游| 屏南县| 旺苍县| 鄯善县| 金坛市| 太康县| 大关县| 闻喜县| 余干县| 大邑县| 通化县| 五河县| 甘谷县| 邯郸市| 锦州市| 黑龙江省| 团风县| 道孚县| 昭通市| 固始县| 丽水市| 桂平市| 达州市| 宝应县|