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