敏捷宣言十年:它是否提供了更好的編程方法
Ruby 發(fā)表于:10年11月08日 15:00 [編譯] DOIT.com.cn
DoSOFT軟件在線 11月8日國際報道 時至今日,“敏捷軟件開發(fā)宣言”已經(jīng)發(fā)布十年了,該宣言的發(fā)布推動了利用變更需求幫助客戶獲得競爭優(yōu)勢的發(fā)展,而且可以讓開發(fā)人員用更短的周期向客戶交付可用的軟件。
敏捷宣言于2001年1月發(fā)布,一些開發(fā)人員集合在猶他州尋找一個文檔驅(qū)動的、“重量級的”軟件開發(fā)方式,這就像當(dāng)時的黃金標準瀑布法則。
盡管實際的敏捷開發(fā)實踐遭遇猶他州的會議,但是那次會議室一個分水嶺,這次會議有助于推動敏捷開發(fā)的發(fā)展。快進十年,敏捷軟件開發(fā)變得越來越普遍,軟件公司采用敏捷方法論 像:Scrum和XP(極限編程)。盡管存在潛在缺點,但是敏捷領(lǐng)域的專家依然認為,從總體來看,實施敏捷開發(fā)對軟件開發(fā)是有益的。
敏捷宣言的創(chuàng)始人之一,當(dāng)時任職于Tektronix的Ward Cunningham表示,我必須說,我們已經(jīng)改變了整個行業(yè)。對計算機編程的失敗和編程危機的探討已經(jīng)死在了敏捷腳下,我已經(jīng)不再聽到別人談?wù)撨@個問題了。
IBM首席敏捷開發(fā)專家Scott Ambler表示,敏捷宣言實現(xiàn)的目標遠遠超過了其預(yù)期。這對整個行業(yè)具有相當(dāng)重要的意義,F(xiàn)在你很難找到不愿意使用敏捷開發(fā)的人了。對敏捷和迭代開發(fā)成功的預(yù)期似乎遠遠高于傳統(tǒng)開發(fā)。
但是,敏捷宣言的另一位創(chuàng)始人Kent Beck,也是XP的創(chuàng)始人,就很少談?wù)撁艚蓍_發(fā)這十年的效益問題。他說,我沒辦法言簡意賅地在這個方面回答你的問題。
Beck表示,敏捷已經(jīng)讓人們更仔細地思考如何開發(fā)軟件,但是并不是每個人都會使用敏捷,依然有人為一個項目尋找告誡列表,這也不是敏捷的內(nèi)容。
敏捷開發(fā)的成功需要什么?
Cunningham表示,敏捷是需要努力學(xué)習(xí)的。在你開始做敏捷開發(fā)之前,你必須熟練掌握所有的技術(shù)。
Cunningham強調(diào)說,對于敏捷開發(fā)來說,扎實的編程技術(shù)是非常必要的。很多人進入這個領(lǐng)域是因為他們發(fā)現(xiàn)編程是這么枯燥,而不想再做這個。如果你喜歡編程,并想做編程,這將會對你的項目會有很大的幫助。
組織性的障礙也會在實施敏捷理念中出現(xiàn)。BigVisible解決方案的敏捷開發(fā)指導(dǎo)Skip Angel表示,只要能夠頻繁地思考尋找交付軟件,敏捷就是行之有效的,因為可以在一個較小模塊中思考而非要從整個項目中思考。我所思考的是對組織的挑戰(zhàn),他們沒有自己的組織設(shè)置方式,可以提供更快的交付。
Angel補充到,項目可能會陷入費時的流程中,開發(fā)者需要是使用不斷的集成來避免瓶頸。
軟件公司SmartBear的副執(zhí)行總裁Ian McLeod表示,敏捷開發(fā)也不是萬能的良藥。你還是需要把它做好,你可能做不好敏捷。
Bech表示,1997年曾經(jīng)成功使用了敏捷開發(fā)。開發(fā)團隊使用了短迭代,大量的單元測試,并于客戶進行了密切的溝通。開發(fā)統(tǒng)一通信系統(tǒng)的AttainResponse公司的首席執(zhí)行官Wade Weston表示,這幫助我們發(fā)展得更快,并讓我們保持在需要的軌道上。AttainResponse每周都要進行開發(fā)沖刺。Weston表示,我們做短期沖刺,我們會高度集中在我們在那周需要完成的項目中。
Weston表示,但是讓每個人都使用敏捷開發(fā)依然是個問題。但是我們團隊中的一員不斷地告訴我,他想要更多的指定條件。我也不斷地告訴他,我們已經(jīng)很快了,因為我們沒有指定條件了。底層的需求文檔是浪費時間的。
敏捷編程的方法
Scrum和XP脫穎而出,也許是最主要的敏捷方法論。Beck認為XP是注重工程方面開發(fā)的方法。XP更多地提到程序員實際做什么,而Scrum是項目管理方法論。
Cunningham表示,可以區(qū)分XP的是,它是一個系統(tǒng)而不是一個解決方案。它是利用系統(tǒng)的方法來編程。
Angel表示,Scrum注重如何管理和交付工作,而XP注重如何來工作。
Polle指出,Scrum和XP絕對是兩個主要方法論。你經(jīng)常會看到Scrum團隊采用了XP,而XP團隊采用了Scrum。
Poole表示,另一種方法論是Kanban,該方法論來源于制造生產(chǎn)過程和瘦軟件開發(fā)概念。Kanban具有極少的限制,并且它關(guān)注客戶價值流。Angel補充到,瘦軟件編程關(guān)注組織效率、優(yōu)化價值、減少浪費,并努力確保好流程運行良好。
McLeod表示,RUP(Rational統(tǒng)一編程)也是一種被稱為敏捷的方法。RUP的特點是有很多文檔。RUP可以是一種敏捷方法論。它是一種過程框架。完全由你研究的方法而定。
Ambler還引用了DSDM,也就是動態(tài)系統(tǒng)開發(fā)方法,DSDM是有點像RAD(快速應(yīng)用程序開發(fā)),一個額外的進程。RAD與敏捷的區(qū)別在于,它注重迭代開發(fā)但是不加強協(xié)作。
McLeod把敏捷方法論看作是是和迭代開發(fā)相似的方法。它們之間沒有太大的區(qū)別。
Cunnigham表示,所謂“靈活”是在猶他州上特意挑選出來的詞語。人們認為它是一種輕量級方法。但是也有人認為“輕量級”這個詞有其負面的含義,也是膚淺的。
公司簡介 | 媒體優(yōu)勢 | 廣告服務(wù) | 客戶寄語 | DOIT歷程 | 誠聘英才 | 聯(lián)系我們 | 會員注冊 | 訂閱中心
Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技術(shù)有限公司 版權(quán)所有.