微信號(hào):tatait
在軟件工業(yè)界,敏捷開(kāi)發(fā)已成為眾多高效開(kāi)發(fā)團(tuán)隊(duì)的制勝之道。它不僅被許多中小公司青睞,在全球一百?gòu)?qiáng)的企業(yè)中,敏捷開(kāi)發(fā)也已大行其道,受到許多資深項(xiàng)目管理者和開(kāi)發(fā)人員的推崇。到2008年,歐美軟件企業(yè)中,有近半企業(yè)已采用敏捷方法進(jìn)行開(kāi)發(fā)。大多數(shù)尚未應(yīng)用敏捷的企業(yè),也都對(duì)其有所了解,而且很多在計(jì)劃實(shí)施。中國(guó)的外企,外包公司和許多知名企業(yè)也都開(kāi)始采用了敏捷方法。例如,騰訊內(nèi)部幾乎所有的開(kāi)發(fā)團(tuán)隊(duì)都在實(shí)施敏捷。
敏捷方法給這些企業(yè)也已帶來(lái)了巨大的收益。據(jù)業(yè)內(nèi)資深人士和長(zhǎng)期從事敏捷咨詢(xún)的服務(wù)公司透露,采用敏捷開(kāi)發(fā)的團(tuán)隊(duì)一般會(huì)提高3-10倍的效率,軟件的質(zhì)量也有了更加可靠的保證。同時(shí),敏捷開(kāi)發(fā)的應(yīng)用也給團(tuán)隊(duì)內(nèi)的每個(gè)成員提供了良好的發(fā)展機(jī)會(huì)。他們的技術(shù)和合作水平都能得到響應(yīng)的提高。敏捷的成功來(lái)源于其方法本身的適用性和團(tuán)隊(duì)對(duì)它的深入理解和合理運(yùn)用。下面我們就對(duì)敏捷開(kāi)發(fā)做一個(gè)簡(jiǎn)單的介紹和討論。
敏捷不是指某一種具體的方法論、過(guò)程或框架,而是一組價(jià)值觀和原則。符合敏捷價(jià)值觀和原則的開(kāi)發(fā)方法包括:極限編程(XP),Scrum,精益軟件開(kāi)發(fā)(Lean Software Development),動(dòng)態(tài)系統(tǒng)開(kāi)發(fā)方法(DSDM),特征驅(qū)動(dòng)開(kāi)發(fā)(Feature Driver Development),水晶開(kāi)發(fā)(Crystal Clear)等等。所有這些方法都具有以下共同特征:
1. 迭代式開(kāi)發(fā)。即整個(gè)開(kāi)發(fā)過(guò)程被分為幾個(gè)迭代周期,每個(gè)迭代周期是一個(gè)定長(zhǎng)或不定長(zhǎng)的時(shí)間塊每個(gè)迭代周期持續(xù)的時(shí)間一般較短,通常為一到六周。
2. 增量交付。產(chǎn)品是在每個(gè)迭代周期結(jié)束時(shí)被逐步交付使用,而不是在整個(gè)開(kāi)發(fā)過(guò)程結(jié)束的時(shí)候一次性交付使用。每次交付的都是可以被部署到用戶(hù)應(yīng)用環(huán)境中被用戶(hù)使用的、能給用戶(hù)帶來(lái)即時(shí)效益和價(jià)值的產(chǎn)品。
3. 開(kāi)發(fā)團(tuán)隊(duì)和用戶(hù)反饋推動(dòng)產(chǎn)品開(kāi)發(fā)。敏捷開(kāi)發(fā)方法主張用戶(hù)能夠全程參與到整個(gè)開(kāi)發(fā)過(guò)程中。這使需求變化和用戶(hù)反饋能被動(dòng)態(tài)管理并及時(shí)集成到產(chǎn)品中。同時(shí),團(tuán)隊(duì)對(duì)于用戶(hù)的需求也能及時(shí)提供反饋意見(jiàn)。
4. 持續(xù)集成。新的功能或需求變化總是盡可能頻繁地被整合到產(chǎn)品中。一些項(xiàng)目是在每個(gè)迭代周期結(jié)束的時(shí)候集成, 有些項(xiàng)目則每天都在這么做。
5. 開(kāi)發(fā)團(tuán)隊(duì)自我管理。擁有一個(gè)積極的、自我管理的、具備自由交流風(fēng)格的開(kāi)發(fā)團(tuán)隊(duì),是每個(gè)敏捷項(xiàng)目必不可少的條件。人是敏捷開(kāi)發(fā)的核心。敏捷開(kāi)發(fā)總是以人為中心建立開(kāi)發(fā)的過(guò)程和機(jī)制,而非把過(guò)程和機(jī)制強(qiáng)加給人。
許多人認(rèn)為,相比于“傳統(tǒng)”的瀑布開(kāi)發(fā)模式,敏捷開(kāi)發(fā)是一種“現(xiàn)代”的開(kāi)發(fā)模式。但是,實(shí)際上敏捷方法,特別是迭代和增量開(kāi)發(fā)方法(IID)起源于20世紀(jì)30年代的一些非軟件項(xiàng)目。而最早引入一些敏捷方法的項(xiàng)目之一就是20世紀(jì)60年代初的美國(guó)航天局水星計(jì)劃。在這個(gè)項(xiàng)目中,一些極限編程方法如測(cè)試先行等也被使用。此后,迭代和增量開(kāi)發(fā)被IBM聯(lián)邦系統(tǒng)部(FSD)和沃森研究中心(Watson Research Center)采納。有趣的是一些研究人員甚至在關(guān)于瀑布開(kāi)發(fā)模式的最早的論文中發(fā)現(xiàn)了敏捷開(kāi)發(fā)的線(xiàn)索。在這篇論文中,溫斯頓.羅伊斯(Winston Royce)建議在一個(gè)項(xiàng)目中使用兩次瀑布模式,也就是使用兩次迭代。
20世紀(jì)70年代,最早的有記載的使用迭代和增量開(kāi)發(fā)的主要項(xiàng)目之一,是為第一艘美國(guó)三叉戟潛艇開(kāi)發(fā)的第一指揮和控制系統(tǒng)。該項(xiàng)目有大約一百萬(wàn)行代碼,進(jìn)行得非常成功。迭代和增量開(kāi)發(fā)從此開(kāi)始穩(wěn)步發(fā)展,越來(lái)越多的項(xiàng)目開(kāi)始使用這種開(kāi)發(fā)模式。在1976年,Tom Gilb在他的著作《軟件度量》(“Software Metrics”)一書(shū)中闡述了他的迭代和增量開(kāi)發(fā)實(shí)踐,這可能就是第一部闡述這種方法的書(shū)籍。迭代和增量開(kāi)發(fā)的另一次出色發(fā)揮,是在一個(gè)美國(guó)宇航局航天飛機(jī)軟件的開(kāi)發(fā)項(xiàng)目。這個(gè)項(xiàng)目負(fù)責(zé)開(kāi)發(fā)其航空電子設(shè)備的軟件系統(tǒng)。該項(xiàng)目由IBM聯(lián)邦系統(tǒng)部(IBM FSD)在1977至1980年完成。一些典型的敏捷做法,如使用8個(gè)周迭代以及用反饋推動(dòng)開(kāi)發(fā)循序漸進(jìn)等方法都在該項(xiàng)目中得以應(yīng)用。
20世紀(jì)80年代,更多的出版物和更多的項(xiàng)目應(yīng)用進(jìn)一步推進(jìn)了迭代開(kāi)發(fā)的發(fā)展。在1895年,巴里貝母(Barry Boehm)正式定義了使用迭代開(kāi)發(fā)的螺旋模型(Spiral model)。80年代初,在美國(guó)國(guó)防部發(fā)生了一件有趣的事情。美國(guó)國(guó)防部一直以來(lái)都要求其軟件開(kāi)發(fā)商在開(kāi)發(fā)過(guò)程中使用嚴(yán)格的瀑布開(kāi)發(fā)模型。但是到了1987年末,國(guó)防部開(kāi)始“建議”使用迭代和增量開(kāi)發(fā)作為軟件開(kāi)發(fā)模式。后來(lái)美國(guó)國(guó)防部的項(xiàng)目審查顯示,早期使用瀑布模式開(kāi)發(fā)的軟件項(xiàng)目,有75%以失敗告終,有些開(kāi)發(fā)出來(lái)的產(chǎn)品根本沒(méi)有被使用過(guò),只有2%的軟件產(chǎn)品無(wú)需大量修改就能被正常使用。
20世紀(jì)90年代,推薦使用迭代和增量開(kāi)發(fā)的出版物和文獻(xiàn)顯著增加。在經(jīng)歷了多次有“瀑布心態(tài)”(‘waterfall mentality’)項(xiàng)目的失敗之后,美國(guó)國(guó)防部開(kāi)始“要求”而不是像80年代那樣僅僅是“建議”他們的軟件開(kāi)發(fā)商使用IID開(kāi)發(fā)模式。Rational統(tǒng)一開(kāi)發(fā)過(guò)程(Rational Unified Process)也是在這一時(shí)期產(chǎn)生并發(fā)展起來(lái)的,它具有更規(guī)范的迭代漸進(jìn)過(guò)程。到2000年底,更多的敏捷開(kāi)發(fā)方法被廣泛推廣并被使用于各種不同的項(xiàng)目中。2001年二月,一組由17位在DSDM,XP,Scrum,F(xiàn)SD等領(lǐng)域的專(zhuān)家組成的代表團(tuán)齊聚美國(guó)猶他州,尋找這些方法的共同點(diǎn)。最終,這些專(zhuān)家制定并宣布了敏捷開(kāi)發(fā)宣言。由此形成了現(xiàn)在我們所認(rèn)識(shí)的敏捷開(kāi)發(fā)和后來(lái)的敏捷聯(lián)盟。
Copyright? 2012-2013 TATAIT.COM All Rights Reserved 深圳塔塔咨詢(xún)服務(wù)有限公司 版權(quán)所有 深圳網(wǎng)站建設(shè):沙漠風(fēng)
塔塔IT—高端IT培訓(xùn)領(lǐng)導(dǎo)品牌,專(zhuān)注于IT前沿技術(shù)的傳播與應(yīng)用。專(zhuān)業(yè)創(chuàng)造價(jià)值,服務(wù)贏得口碑!