當前位置:工程項目OA系統(tǒng) > 泛普各地 > 遼寧OA系統(tǒng) > 沈陽OA系統(tǒng) > 沈陽OA行業(yè)資訊
敏捷開發(fā)系列之滿足不斷變化的需求
軟件開發(fā)方法一直處在不斷發(fā)展過程中。在諸多方法中,敏捷開發(fā)以其能持續(xù)滿足不斷變化的用戶需求正在受到越來越多人的重視,從中小項目開始進入大型開發(fā)項目,近幾年來上升勢頭明顯。為幫助讀者進一步了解敏捷開發(fā)方法,本報邀請長期在國外從事軟件研發(fā)工作的專業(yè)人士撰文就此進行深入探討。
在軟件工業(yè)界,敏捷開發(fā)已成為眾多高效開發(fā)團隊的制勝之道。在歐美軟件企業(yè)中,有近半數(shù)企業(yè)已采用敏捷方法進行開發(fā),而近幾年受軟件外包和外企的帶動,敏捷開發(fā)在中國也出現(xiàn)了日漸普及的態(tài)勢,如騰訊內部幾乎所有的開發(fā)團隊都在實施敏捷方法。敏捷開發(fā)的流行絕非偶然,其最大的推動力是采用這種方法所能帶來的受益。相關統(tǒng)計表明,敏捷開發(fā)可以將效率提高3~10倍,軟件的質量也有更加可靠的保證; 同時,還給團隊內的每個成員提供了良好的發(fā)展機會,技術和合作水平都能得到相應提高。當然,敏捷的成功前提是其方法本身的適用性和團隊對它的深入理解和合理運用。
敏捷開發(fā)方法的基本原則
應該說,敏捷方法特別是迭代和增量開發(fā)方法很早就有應用。早在20世紀60年代初的美國,航天局水星計劃就曾引入迭代和增量開發(fā)。當然,對敏捷開發(fā)具有重要意義的事件是敏捷開發(fā)宣言的發(fā)布。2001年2月,17位在動態(tài)系統(tǒng)開發(fā)方法(DSDM)、極限編程(XP)、Scrum等領域的專家齊聚美國猶他州,尋找這些方法的共同點。最終,這些專家制定并宣布了敏捷開發(fā)宣言。由此形成了現(xiàn)在我們所認識的敏捷開發(fā)和后來的敏捷聯(lián)盟。
敏捷開發(fā)由幾種輕量級的軟件開發(fā)方法組成,包括極限編程、Scrum、精益開發(fā)(Lean Development)、動態(tài)系統(tǒng)開發(fā)方法、特征驅動開發(fā)(Feature Driver Development)、水晶開發(fā)(Cristal Clear)等等。所有這些方法都具有以下共同特征,它們也是敏捷開發(fā)的原則:
1. 迭代式開發(fā)。即整個開發(fā)過程被分為幾個迭代周期,每個迭代周期持續(xù)的時間一般較短,通常為1到6周。
2. 增量交付。產品是在每個迭代周期結束時被逐步交付使用,每次交付的都是可以被部署、能給用戶帶來即時效益和價值的產品。
3. 開發(fā)團隊和用戶反饋推動產品開發(fā)。敏捷開發(fā)方法主張用戶能夠全程參與到整個開發(fā)過程中。這使需求變化和用戶反饋能被動態(tài)管理并及時集成到產品中。
4. 持續(xù)集成。新的功能或需求變化總是盡可能頻繁地被整合到產品中。有些是在每個迭代周期結束的時候集成, 有些則每天都在這么做。
5. 開發(fā)團隊自我管理。人是敏捷開發(fā)的核心。敏捷開發(fā)總是以人為中心建立開發(fā)的過程和機制,而非把過程和機制強加給人。
敏捷開發(fā)的優(yōu)勢
滿足用戶不斷變化的需求是軟件開發(fā)的長期無法解決的難題之一,經典的瀑布模式在一個迭代周期內表現(xiàn)優(yōu)異,但一旦需求變化,瀑布模式卻顯得無能為力。敏捷方法滿足需求的辦法主要通過迭代。在每一次迭代周期結束時,都能交付用戶一個可用的、可部署的系統(tǒng),用戶使用并體驗該系統(tǒng)并反饋意見,在隨后的迭代周期這些意見和需求的其他變化一起在產品中實現(xiàn)和集成。每次迭代周期應盡可能短,以便能及時地處理需求變化和用戶反饋。
總體而言,敏捷開發(fā)方式能給企業(yè)和用戶帶來以下好處:
● 精確。瀑布模式通常會在產品起點與最終結果之間規(guī)劃出一條直線,然后沿著直線不斷往前走。然而當項目到達終點時,用戶通常會發(fā)現(xiàn)那已經不是他們想去的地方。而敏捷方法則采用小步快跑,每走完一步再調整并為下一步確定方向,直到真正的終點。
● 質量。敏捷方法對每一次迭代周期的質量都有嚴格要求。一些敏捷方法如極限編程等,甚至使用測試驅動開發(fā)(test-driven development),即在正式開發(fā)功能代碼之前先開發(fā)該功能的測試代碼。這些都為敏捷項目的整個開發(fā)周期提供了可靠的質量保證。
● 速度。敏捷團隊只專注于開發(fā)項目中當前最需要的、最具價值的部分。這樣能很快地投入開發(fā)。另外,較短的迭代周期使團隊成員能迅速進入開發(fā)狀態(tài)。
● 豐厚的投資回報率。在敏捷開發(fā)過程中,最具價值的功能總是被優(yōu)先開發(fā),這樣能給客戶帶來最大的投資回報率。
● 高效的自我管理團隊。敏捷開發(fā)要求團隊成員必須積極主動,自我管理。在這樣的團隊中工作,每個團隊成員的技術能力、交流、社交、表達和領導能力也都能得以提高。
主要的敏捷方法
敏捷開發(fā)方法是一組開發(fā)方法的統(tǒng)稱,主要包括以下幾種:
極限編程 其主要目的是降低需求變化的成本。它引入一系列優(yōu)秀的軟件開發(fā)方法,并將它們發(fā)揮到極致,結對編程(pair-programming)就是其中比較知名的方法之一。除此之外, 其核心做法還有小規(guī)模、頻繁的版本發(fā)布、短迭代周期、測試驅動開發(fā)、持續(xù)集成、每日站立會議、共同擁有代碼、系統(tǒng)隱喻等。
Scrum Scrum是一個敏捷開發(fā)框架,它由一個開發(fā)過程、幾種角色以及一套規(guī)范的實施方法組成。在Scrum中,產品需求被定義為產品需求積壓(product backlogs)。所有的產品需求積壓都是從一個簡單的想法開始,并逐步被細化,直到可以被開發(fā)的程度。Scrum將開發(fā)過程分為多個Sprint周期,每個Sprint代表一個2~4周的開發(fā)周期,有固定的時間長度。
精益開發(fā) 精益開發(fā)的核心思想是查明和消除浪費。在軟件開發(fā)過程中bug、沒用的功能、等待以及其他任何對實現(xiàn)結果沒有益處的東西都是浪費。浪費及其源頭必須被分析查明,然后設法消除。精益開發(fā)的其他原則包括強調學習、在最后時刻做決定、用最快的速度交付用戶等。
其他敏捷方法還包括動態(tài)系統(tǒng)開發(fā)方法(DSDM)、特征驅動開發(fā)(FDD)、Crystal Clear等,各種敏捷方法的區(qū)別在于它們對敏捷的不同闡釋和不同側重。理解這些方法可以幫助我們從多個角度理解敏捷開發(fā),并且了解更多的最佳應用。(ccw)
- 1企業(yè)OA管理信息化一般面臨哪些困惑?
- 23G時代 存儲虛擬化變成熱門
- 3云計算時代的企業(yè)如何把握IT建設
- 4企業(yè)如何進行如何備份和檢修虛擬機?
- 5中小企業(yè)以虛擬化和iSCSI解決存儲難題
- 6關于安全行業(yè)預防“流感”十個問題
- 7“云安全+云保護” 謎團技術解析
- 8SCM供應鏈管理中的七大常見誤解
- 9沈陽泛普OA軟件的項目定價模擬
- 10如何管理大規(guī)模集群的軟硬件資源
- 11淺析云計算安全的法律弊端
- 12基于網絡端口的病毒防范技術分析
- 13數(shù)據(jù)中心設計幫助削減IT能源成本
- 14未來數(shù)據(jù)中心基礎架構的新挑戰(zhàn)與新發(fā)展
- 15如何利用現(xiàn)有設施部署安全的無線網絡?
- 16存儲業(yè)依然蘊含機會 五家廠商受關注
- 17沈陽OA軟件解決方案帶給客戶的價值?
- 18有線網絡前端機房設備選型與維護
- 19云計算:是用外部云還是內部云?
- 20企業(yè)配置可升級 Web 緩存方案
- 21企業(yè)接受虛擬化 云計算最受關注
- 22IDC數(shù)據(jù)保護所需應對五大挑戰(zhàn)
- 23歐洲虛擬服務器數(shù)量將超過物理服務器
- 24在SQL Server中使用別名用戶的安全問題
- 25存儲發(fā)展簡史 從"傻瓜陣列"到"按需存儲"
- 26克服企業(yè)信息化管理軟件CRM的缺點
- 27制定綠色IT策略應該考慮的四個方面
- 28盤點數(shù)據(jù)保護方式看中小企業(yè)信息安全
- 29OA軟件最全面的房地產營銷操作指導大綱
- 30精通SOA 構建企業(yè)應用服務組合
成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓