監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購(gòu)買價(jià)格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

敏捷開發(fā)系列之滿足不斷變化的需求

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

文章來源:泛普軟件

軟件開發(fā)方法一直處在不斷發(fā)展過程中。在諸多方法中,敏捷開發(fā)以其能持續(xù)滿足不斷變化的用戶需求正在受到越來越多人的重視,從中小項(xiàng)目開始進(jìn)入大型開發(fā)項(xiàng)目,近幾年來上升勢(shì)頭明顯。為幫助讀者進(jìn)一步了解敏捷開發(fā)方法,本報(bào)邀請(qǐng)長(zhǎng)期在國(guó)外從事軟件研發(fā)工作的專業(yè)人士撰文就此進(jìn)行深入探討。

在軟件工業(yè)界,敏捷開發(fā)已成為眾多高效開發(fā)團(tuán)隊(duì)的制勝之道。在歐美軟件企業(yè)中,有近半數(shù)企業(yè)已采用敏捷方法進(jìn)行開發(fā),而近幾年受軟件外包和外企的帶動(dòng),敏捷開發(fā)在中國(guó)也出現(xiàn)了日漸普及的態(tài)勢(shì),如騰訊內(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ì)對(duì)它的深入理解和合理運(yùn)用。

敏捷開發(fā)方法的基本原則

應(yīng)該說,敏捷方法特別是迭代和增量開發(fā)方法很早就有應(yīng)用。早在20世紀(jì)60年代初的美國(guó),航天局水星計(jì)劃就曾引入迭代和增量開發(fā)。當(dāng)然,對(duì)敏捷開發(fā)具有重要意義的事件是敏捷開發(fā)宣言的發(fā)布。2001年2月,17位在動(dòng)態(tài)系統(tǒng)開發(fā)方法(DSDM)、極限編程(XP)、Scrum等領(lǐng)域的專家齊聚美國(guó)猶他州,尋找這些方法的共同點(diǎn)。最終,這些專家制定并宣布了敏捷開發(fā)宣言。由此形成了現(xiàn)在我們所認(rèn)識(shí)的敏捷開發(fā)和后來的敏捷聯(lián)盟。

敏捷開發(fā)由幾種輕量級(jí)的軟件開發(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)勢(shì)

滿足用戶不斷變化的需求是軟件開發(fā)的長(zhǎng)期無法解決的難題之一,經(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ì)量。敏捷方法對(duì)每一次迭代周期的質(zhì)量都有嚴(yán)格要求。一些敏捷方法如極限編程等,甚至使用測(cè)試驅(qū)動(dòng)開發(fā)(test-driven development),即在正式開發(fā)功能代碼之前先開發(fā)該功能的測(cè)試代碼。這些都為敏捷項(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é)對(duì)編程(pair-programming)就是其中比較知名的方法之一。除此之外, 其核心做法還有小規(guī)模、頻繁的版本發(fā)布、短迭代周期、測(cè)試驅(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è)簡(jiǎn)單的想法開始,并逐步被細(xì)化,直到可以被開發(fā)的程度。Scrum將開發(fā)過程分為多個(gè)Sprint周期,每個(gè)Sprint代表一個(gè)2~4周的開發(fā)周期,有固定的時(shí)間長(zhǎng)度。

精益開發(fā)  精益開發(fā)的核心思想是查明和消除浪費(fèi)。在軟件開發(fā)過程中bug、沒用的功能、等待以及其他任何對(duì)實(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ū)別在于它們對(duì)敏捷的不同闡釋和不同側(cè)重。理解這些方法可以幫助我們從多個(gè)角度理解敏捷開發(fā),并且了解更多的最佳應(yīng)用。(ccw)

發(fā)布:2007-04-21 11:55    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:

泛普沈陽(yáng)OA行業(yè)資訊其他應(yīng)用

沈陽(yáng)OA軟件 沈陽(yáng)OA新聞動(dòng)態(tài) 沈陽(yáng)OA信息化 沈陽(yáng)OA快博 沈陽(yáng)OA行業(yè)資訊 沈陽(yáng)軟件開發(fā)公司 沈陽(yáng)門禁系統(tǒng) 沈陽(yáng)物業(yè)管理軟件 沈陽(yáng)倉(cāng)庫(kù)管理軟件 沈陽(yáng)餐飲管理軟件 沈陽(yáng)網(wǎng)站建設(shè)公司