近幾年,敏捷軟件開發(fā)在軟件工業(yè)界有了良好的發(fā)展勢頭并逐漸被推廣開來,中國的許多開發(fā)團(tuán)隊(duì)正在逐漸接受并應(yīng)用這種開發(fā)模式。
一種軟件開發(fā)方法被業(yè)界普遍接受并流行起來可能需要10年或20年的時(shí)間,而從Scrum和極限編程誕生以及被應(yīng)用到現(xiàn)在已經(jīng)有20多年的歷史了,精益軟件開發(fā)模式也有已近10多年的歷史?,F(xiàn)在,這些敏捷方法正在取得良好的發(fā)展,一些著名的公司如Google、Microsoft、Yahoo以及眾多的中小公司已經(jīng)開始采用敏捷開發(fā),尤其是Scrum。它們中的許多已經(jīng)有了較長時(shí)間的經(jīng)驗(yàn)。越來越多的人開始關(guān)注它們。
推動敏捷開發(fā)普及
應(yīng)該說,敏捷開發(fā)方法的流行與各種各樣的咨詢和培訓(xùn)機(jī)構(gòu)的工作密不可分。
Scrum Alliance是敏捷開發(fā)發(fā)起人之一KenSchwaber創(chuàng)辦的一個(gè)Scrum咨詢公司。除了組織會議和提供關(guān)于Scrum的相關(guān)咨詢服務(wù)外,ScrumAlliance公司最大的特點(diǎn)是開創(chuàng)了Scrum認(rèn)證系統(tǒng),用以對Scrum人員進(jìn)行認(rèn)證。該系統(tǒng)分別有培訓(xùn)和認(rèn)證兩個(gè)過程。它有五種類型的證書:Scrum專家(Certified Scrum Masters)、產(chǎn)品所有者(ProductOwners)、Scrum行業(yè)者(Scrum Practitioners)、Scrum教練(ScrumCoach)和Scrum培訓(xùn)師(Certified ScrumTrainer)。Scrum培訓(xùn)師證書是提供Scrum顧問給團(tuán)隊(duì)進(jìn)行Scrum培訓(xùn)和認(rèn)證的。Scrum專家產(chǎn)品所有者和Scrum行業(yè)者證書則是側(cè)重于對團(tuán)隊(duì)進(jìn)行Scrum項(xiàng)目的實(shí)際應(yīng)用培訓(xùn)和認(rèn)證。這些證書已經(jīng)獲得軟件行業(yè)的廣泛接受,每年有成千上萬的人在培訓(xùn)和認(rèn)證過程中獲得提高并為公司帶來效益。
另一個(gè)重要的組織是敏捷聯(lián)盟(AgileAlliance)。敏捷聯(lián)盟是一個(gè)由對敏捷開發(fā)感興趣的個(gè)人和公司組成的聯(lián)盟。該組織的主要活動包括出版刊物、組織討論小組、組織會議等。其中一個(gè)比較重要的會議是一年一度的敏捷會議(AgileConference),每年都會吸引世界各地從事敏捷開發(fā)的研究人員、項(xiàng)目經(jīng)理、開發(fā)者、公司和顧問團(tuán)等前往參會。許多在會議上提交的文章會被收入并發(fā)表在IEEE相關(guān)刊物上。
此外,商業(yè)巨頭關(guān)注敏捷開發(fā)也帶來了示范效應(yīng)。Google、 Yahoo、IBM 和Microsoft 使用敏捷開發(fā)已經(jīng)很多年。他們通常選擇某幾個(gè)開發(fā)團(tuán)隊(duì)來試用敏捷開發(fā),然后將開發(fā)經(jīng)驗(yàn)推廣到其他的開發(fā)團(tuán)隊(duì)中去。
在相關(guān)組織和大公司的帶動下,很多中小型軟件公司開始把開發(fā)團(tuán)隊(duì)完全轉(zhuǎn)型到敏捷開發(fā)模式下。根據(jù)Forrester公司調(diào)查,在美國和歐盟對敏捷的認(rèn)識和采用率以每年50%左右的速度增長??梢哉f,敏捷方法已經(jīng)過了創(chuàng)新(innovators)和初期采用(early adopters)階段,進(jìn)入早期多數(shù)(early majority)階段。很顯然,敏捷方法將在早期多數(shù)階段加速采用率的增長勢頭,并被更廣泛的企業(yè)所接受。
敏捷在中國
敏捷開發(fā)在中國進(jìn)展稍慢一些,中國的軟件開發(fā)群體在近幾年才開始使用敏捷方法,而且大部分使用敏捷方法的公司都集中在外資跨國企業(yè)如IBM、Sun以及一些軟件外包公司(如文思創(chuàng)新)等。同時(shí),也有一些比較前沿的國內(nèi)公司(如騰訊)等率先采用敏捷開發(fā)??傮w來看,中國的敏捷開發(fā)還處初期試用階段。盡管如此,我國的軟件工業(yè)中仍然存在著敏捷方法迅速發(fā)展的契機(jī).
首先,在中國大規(guī)模的軟件公司較少,大多數(shù)開發(fā)團(tuán)隊(duì)都不會超過200人。這些團(tuán)隊(duì)大多采用手工作坊的工作方式,開發(fā)方法往往取決于技術(shù)領(lǐng)導(dǎo)的個(gè)人風(fēng)格,這種方式有幾個(gè)缺點(diǎn)。首先,這樣的團(tuán)隊(duì)績效和產(chǎn)品的質(zhì)量不穩(wěn)定。其次,這樣很難形成有凝聚力、自我管理的團(tuán)隊(duì)。特別是一旦團(tuán)隊(duì)的核心人物離職,整個(gè)團(tuán)隊(duì)可能就要去適應(yīng)另一種開發(fā)風(fēng)格。第三,這種團(tuán)隊(duì)往往也缺少一種有序自覺的學(xué)習(xí)和自我提高機(jī)制,而開發(fā)效率的停滯就是對人才的浪費(fèi)和不負(fù)責(zé)任??傊?,這種方式的最大缺點(diǎn)就是質(zhì)量和效率的隨機(jī)性和不穩(wěn)定性,很難和職業(yè)化的軟件開發(fā)競爭。不過,這種開發(fā)團(tuán)隊(duì)在轉(zhuǎn)向敏捷開發(fā)的過程中反而更容易,因?yàn)樗麄儧]有成型的模式,沒有過多的包袱, 采用敏捷開發(fā)風(fēng)險(xiǎn)更少。
其次,由正在發(fā)生的經(jīng)濟(jì)危機(jī)引發(fā)的大規(guī)模的裁員和人事的凍結(jié)讓這些公司感覺到資源的有限。在這種情況下,對現(xiàn)有資源效率的提高將對提高公司的競爭力和長期的發(fā)展起到更為至關(guān)重要的作用。而敏捷開發(fā)會為中國的軟件服務(wù)和產(chǎn)品帶來我們最需要的質(zhì)量和效率的提高。
第三,中國文化中存在許多適合敏捷開發(fā)的元素?!睹艚菪浴返牡谝粭l便把人的協(xié)作放在了規(guī)程和工具的前面。在中國文化中,管理是以人為核心而非規(guī)程和條例,這符合敏捷重視人多于過程的精神。還有,敏捷開發(fā)對傳統(tǒng)的西方式由上至下、多層次的職業(yè)管理提出了挑戰(zhàn),敏捷要求管理層更簡潔并更注重服務(wù)于團(tuán)隊(duì)。而中國企業(yè)的項(xiàng)目管理并不是很職業(yè)化,從這種起點(diǎn)轉(zhuǎn)向敏捷可能更直接、簡單。另外,中國的很多軟件開發(fā)人員習(xí)慣于幾乎無計(jì)劃、隨心所欲的代碼編寫。這在西方被稱為牛仔編碼(cowboycoding)。這種風(fēng)格離敏捷的距離似乎比應(yīng)用瀑布模型或CMMI標(biāo)準(zhǔn)的專業(yè)開發(fā)風(fēng)格更小。許多其他的中國文化因素,比如關(guān)注細(xì)節(jié)、節(jié)儉以及面對變化的適應(yīng)能力等都為敏捷開發(fā)在中國軟件業(yè)的發(fā)展提供了有力的支持。
可以說,獨(dú)特的中國文化和管理現(xiàn)況為敏捷開發(fā)的發(fā)展和實(shí)施提供了先天的條件。如果中國的軟件業(yè)界能夠在敏捷開發(fā)的理論與實(shí)踐方面迎頭趕上并有所創(chuàng)新,敏捷開發(fā)一定能為中國的軟件產(chǎn)業(yè)效率和質(zhì)量的提高,和進(jìn)入甚至領(lǐng)先國際市場起到?jīng)Q定性的推動作用。我們相信,敏捷在中國很快就會迎來一個(gè)迅猛的發(fā)展時(shí)期。(ccw)
劉松 合絡(luò)眾成(北京)科技有限公司總裁。劉松曾在美國IBM硅谷實(shí)驗(yàn)室、Sybase等從事研發(fā)及項(xiàng)目管理工作,有著豐富的軟件研發(fā)及管理經(jīng)驗(yàn)。
陳春暖 架構(gòu)師,合絡(luò)眾成(北京)科技有限公司,通過 Scrum Master認(rèn)證,有豐富的敏捷開發(fā)和管理經(jīng)驗(yàn)。
it知識庫:讓敏捷開發(fā)落地,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。