传统与敏捷开发的真正区别
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
在第三屆“敏捷中國”技術大會上,我們聽到了很多關于敏捷開發(fā)的相關論題,其中不乏互聯(lián)網(wǎng)公司代表騰訊公司的敏捷開發(fā)的實例,也不乏ThoughtWorks首席科學家的親身經(jīng)歷,在具體的敏捷開發(fā)過程中,究竟是哪一點最為吸引人們的目光?敏捷開發(fā)吸引人的潛力在何處?我們來聽聽作為作為敏捷開發(fā)過程中的開發(fā)者Paulo Caroli,他是如何理解敏捷開發(fā)的魅力的?他對敏捷開發(fā)又是如何理解的呢?
Paulo Caroli, 有13年的軟件開發(fā)經(jīng)驗,是ThoughtWorks公司的一名敏捷教練和高級開發(fā)者,今天,他帶來的是Agile Evolutionary Design: from simple to well structured design.(演進性的敏捷設計:從結構簡單到結構良好的設計)
“作為ThoughtWorks公司的架構建筑師,我擁有的只是傳統(tǒng)的JAVA的資質,這與很多做開發(fā)的同仁差不多,但從在ThoughtWorks的多年的敏捷開發(fā)的接觸以來,我更深刻地理解了敏捷的運動。要在這里稱其為‘運動’其實是有原因的,在下面,我也將為大家一一道來。”
傳統(tǒng)的開發(fā)形式,如果你很小心地做,也能做得很好,為什么這么說呢?在整個開發(fā)過程中,每一個迭代中,一旦出現(xiàn)任何問題,到最后都不會得到你想要的成果。
傳統(tǒng)的軟件開發(fā),采用的是瀑布式的開發(fā)模式:大家可以想象一下,一個斜坡向下的瀑布,在前面開發(fā)階段,整個流程都是依據(jù)需求在進展,從最初的需求提出到需求分析,從功能的設計到編碼,最后到編碼的測試、整合與部署,所以說,如果你很小心,也能做得很好。在整個項目開發(fā)結束后,水流到最后才能取到,這個時候,取到的是一整桶水,也就是你最初設計想要得到的那一桶水!然而,這桶水是來之不易的。然而,目前,我們的項目過程中,卻經(jīng)常返工;這其中一個很重要的原因就是——變化是永恒存在的,敏捷對于要求不停地在變化,我們拿到的是許多小桶水,可能是一杯水,如果客戶覺得好的話,我們會把它留下來,最后,水量是一樣的,但是敏捷是小桶水匯到一塊的,而傳統(tǒng)的是一整桶。
傳統(tǒng)的分析過程,有很多決定和策劃,當還是用過去這套方法的時候,我們開始的設計都是分析,想象,圖標的構建,但是敏捷里,都是測試做驅動,沒有時間去畫漂亮的流程圖,但是,這個設計的過程在哪兒去了呢?
設計無處不在,不進開發(fā)的人要設計,所有參與的人都要設計,而且從第一天到最后完成,設計無處不在。
傳統(tǒng)的設計只在開始階段做,之后就停止了。而現(xiàn)在,我們所說的敏捷開發(fā),在最初的數(shù)據(jù)分析階段,我們也稱之為項目的啟動階段,一般會需要兩周或六周。這個啟動階段,我們有迭代。但總體來說,迭代的時間比較短,只有兩周左右;我們有進程,所有的人都是為了同一個事情做事。
所以,在這個敏捷開發(fā)的過程中,我們的成果可以多次發(fā)布,一直持續(xù)到最后的最終版本的發(fā)布。
發(fā)起階段,雖然有很多的迭代,發(fā)起階段需要搜集客戶的要求,不一定很多,但是要考慮到規(guī)模,測試的戰(zhàn)略,最初兩周的需求和策略是怎樣的。另外一個就是構架,你不可能不想構架就去開始實施,以后返工的話,代價就太大了。
你是自動化的部署還是其他,一開始就要像清楚,迭代的最初。項目初始階段,分析師不斷設想,有什么新的需求出現(xiàn)。過程中不斷測試,等迭代通過,這個時候,你就可以發(fā)布你此時成功的測試成功,也就是說,不用等到最后那一桶水,你即可擁有很多杯水。
轉載于:https://my.oschina.net/weiweiblog/blog/477224
總結
以上是生活随笔為你收集整理的传统与敏捷开发的真正区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 连贯的学习黑树(插入节点)
- 下一篇: 编码时的一些普适原则