2010年敏捷大會(huì)訪談錄 敏捷需以人為本
原創(chuàng)【51CTO獨(dú)家特稿】51CTO對(duì)于實(shí)施敏捷過(guò)程中,***的障礙是什么?我們先咨詢了吳昊先生。
吳昊“其實(shí)這個(gè)時(shí)候我們可能碰到最多的,實(shí)際上是一種文化上的沖突。51CTO剛才提到的敏捷,可能敏捷是不一樣的。比如從時(shí)間角度上來(lái)看,敏捷可能是一種功能實(shí)踐和管理實(shí)踐,在它背后有12個(gè)原則。其實(shí)我們認(rèn)為只要你是符合這些原則的實(shí)踐都是敏捷實(shí)踐,而不是說(shuō)你僅僅有這些就夠了,它可能遵守也可能違背最開始的原則。舉例說(shuō),敏捷的編程,這個(gè)時(shí)候他可能在很多情況下符合敏捷的原則,但是在很多極端情況下,實(shí)際上你是違反了敏捷的原則的,所以這個(gè)時(shí)候并不是每次都要判斷他是不是符合后面敏捷的精神或者敏捷的基本原則,他在每個(gè)場(chǎng)景下都會(huì)有不同的例子。我基本上不能跟你說(shuō)有任何實(shí)踐放在任何環(huán)境下都有這樣的實(shí)踐,你需要在一個(gè)環(huán)境下進(jìn)行具體判斷。
敏捷不能套用生硬的條文
我們往往碰到的問題是,有些實(shí)施敏捷的人,他只要實(shí)施了全套的實(shí)踐,那么我就是一個(gè)敏捷了,那么在他們實(shí)施這套實(shí)踐的時(shí)候,反而是一種非敏捷的方法,或者更重視這樣的過(guò)程,所以和他們開始的意愿是違背的,這個(gè)時(shí)候從實(shí)踐來(lái)看做的都是對(duì)的,只是他們選擇采取這樣的時(shí)機(jī)和方式不是很好的時(shí)機(jī)和方式,使得他們看上去是敏捷的實(shí)踐,實(shí)際上并不是。那這樣的話造成這樣的情況,我們最常見的敏捷障礙就是文化上的沖突,當(dāng)一些企業(yè)管理者,他有這些變革式的方法的時(shí)候,他希望來(lái)保持我原來(lái)的生產(chǎn)效果,他不希望受到我新鮮事物的影響,然后他又強(qiáng)調(diào)你這個(gè)團(tuán)隊(duì)?wèi)?yīng)該是以新的方式來(lái)工作,那么我們都知道當(dāng)你掌握一個(gè)新東西的時(shí)候,你都有一個(gè)學(xué)習(xí)階段,在這個(gè)階段相比原來(lái)的時(shí)候,生產(chǎn)效率會(huì)有所降低,但是從他的決策人的角度來(lái)看,往往我們聽到一些使用敏捷的時(shí)候都會(huì)說(shuō),在不影響現(xiàn)在的進(jìn)度下使用這個(gè)方式,在這個(gè)前提下,當(dāng)你跟敏捷的原則產(chǎn)生沖突的時(shí)候,往往這個(gè)項(xiàng)目決策人,項(xiàng)目進(jìn)行前提會(huì)遠(yuǎn)遠(yuǎn)高于你的新的實(shí)踐,就會(huì)造成很多團(tuán)隊(duì)在實(shí)施過(guò)程中他們自己也會(huì)覺得我們的實(shí)踐是違敏捷的,是走樣的,他根本上仍然是你的最終的團(tuán)隊(duì)決策人,他是不是真的接受了敏捷的思想和文化,我真的愿意擁抱這樣的思想和文化,從而通過(guò)文化上的轉(zhuǎn)變帶來(lái)生產(chǎn)效率的提高,還是僅僅把它當(dāng)做一種工具和一種新的過(guò)程,比如瀑布式,敏捷式你也可以強(qiáng)制的定義成這樣的過(guò)程,那是不是還有它原來(lái)的效果,這些都是我們不清楚的,12原則之上的敏捷宣言,里面最重要的一句是人是重于交互和工具的,這一點(diǎn)來(lái)說(shuō)敏捷是發(fā)揮人的主干創(chuàng)造力和能動(dòng)性,我們充分信任每一個(gè)人的能力,激發(fā)他們的創(chuàng)造力從而提高這樣的生產(chǎn)效率,而不是我們通過(guò)定義你的過(guò)程,使用你的工具提高你的生產(chǎn)效率,實(shí)際上當(dāng)你能不能真正地接受這樣的文化,消除這樣的沖突,我覺得這個(gè)可能是,我們看到遇到很多問題,最終都能夠歸結(jié)于這樣的沖突。”
對(duì)于宋金永先生,我們感興趣的是他們?cè)谌粘5墓ぷ髦?,?huì)用到哪些敏捷工具?
宋先生說(shuō)“工具方面也是我們?cè)诿艚葜?,也是預(yù)估到的,是一塊比較大的工作,我們這一塊逐步地引入一些工具,在需求管理上我們逐步引入一些管理需求上的工具,比如EXCEL的表格,可能我們能夠定制一下一個(gè)規(guī)范,我們就形成了FutureList,這個(gè)是一個(gè)小工具,大家把它用起來(lái)了,也有一些產(chǎn)品線屬于自發(fā)性比較好,他開源也好,網(wǎng)上也好,他會(huì)下載一些軟件,他會(huì)管理,甚至形成狀態(tài)圖,都有這樣的應(yīng)用,后來(lái)慢慢地我們就發(fā)現(xiàn)可能對(duì)工具的統(tǒng)一也是必要的,后來(lái)我們自己也在嘗試做需求管理這一塊的工具,這是一方面。”
“另外一方面可能工具的大頭還在工程方法,比如單測(cè),原來(lái)我們這邊,因?yàn)楹芏喈a(chǎn)品線,他們也是有自己的選擇,比如我是用CB的,還有用其他的,后來(lái)我們發(fā)現(xiàn)在這一塊是有成本的,為什么?就是它的代碼風(fēng)格,框架不統(tǒng)一的時(shí)候會(huì)帶來(lái)很多問題,這一塊我們?cè)俳y(tǒng)一掉,就是我們有統(tǒng)一的測(cè)試工具,我們有開發(fā)組專門做開發(fā)的,另外今天上午馬汀大師也在講持續(xù)集成,半年多之前我們開始在準(zhǔn)備這個(gè)事情,也在開發(fā)這個(gè)事情,應(yīng)該說(shuō)初步的東西我們已經(jīng)看到自己的持續(xù)集成平臺(tái)了,但是后面的路還非常長(zhǎng),因?yàn)槲覀儼l(fā)現(xiàn)這種工具首先可能是解決***步問題,后面的工作絕對(duì)是重頭戲,需要用各種方法,包括實(shí)踐上的,包括一些前期的引導(dǎo)的,還有和產(chǎn)品線具體合作的,類似的規(guī)律都要去做及可能我想到的工具主要這幾大塊。”
51CTO記者表示,在與一些程序員進(jìn)行交流的時(shí)候,他們有一種想法,敏捷這種東西還不如原來(lái)用的瀑布式,覺得那樣開發(fā)起來(lái),熬兩個(gè)晚上就開發(fā)出來(lái)了,也很好,老板也很滿意。所以他覺得敏捷的東西很虛,甚至于特別在一些小規(guī)模公司,那么幾個(gè)人,他們認(rèn)為敏捷的方法很不適合他們,您覺得他那種想法是對(duì)還是錯(cuò)誤的想法?您對(duì)于這種規(guī)模比較小一點(diǎn)的公司,在運(yùn)用敏捷上有哪些方面的建議?
徐昊:這個(gè)其實(shí)很有意思,其實(shí)我很難評(píng)判你剛才說(shuō)的情況,到底敏捷更合適還是現(xiàn)在的方法,很難評(píng)判,但是我想強(qiáng)調(diào)一點(diǎn),當(dāng)敏捷在強(qiáng)調(diào)效率的時(shí)候,好像我剛才講的,會(huì)有工程實(shí)踐,管理方法等等等等這些東西,當(dāng)你做出任何一個(gè)決定的時(shí)候,都是這些東西平衡之后的結(jié)果,對(duì)于任何一家公司都存在這樣一個(gè)風(fēng)險(xiǎn),比如這個(gè)人他很快,他花一兩天把這個(gè)做了,花一天可以做好這個(gè)工程,但是當(dāng)你有了代碼的時(shí)候并不代表你擁有修改這個(gè)代碼的能力,可能只有他自己一個(gè)人,別人誰(shuí)都看不懂,但是他寫的代碼除了他自己,別人想理解要花很長(zhǎng)時(shí)間,在這樣的情況下,實(shí)際上對(duì)于公司而言會(huì)存在一種人力風(fēng)險(xiǎn),如果這個(gè)人明天他不干了,走人了,他說(shuō)我代碼都放在這兒,不能是完全正確的,老板有沒有評(píng)估我需要花多少精力和時(shí)間,這個(gè)里面可能是非常高的成本,也可能非常低,我并不能說(shuō)一定非常高,但通常而言他可能成本相對(duì)而言要高出我們的想象,因?yàn)槠鋵?shí)很多人我們并沒有意識(shí)到這樣的成本,當(dāng)我修改別人的代碼,我得讀懂它變成個(gè)人理解的時(shí)候都會(huì)變得很困難。所以這個(gè)時(shí)候你就會(huì)理解敏捷方法它看上去慢,但是它是宏觀考慮,我承認(rèn)當(dāng)你做探索性開發(fā)的時(shí)候,效率并不高,如果其中有一個(gè)人能力很強(qiáng),應(yīng)不如他自己開發(fā)的效率更高,這個(gè)我們是能觀察到的,這個(gè)并不是通常情況,很多情況下,往往是這樣的,它是一個(gè)探索性的,大家都不知道什么樣子,人與人之間的能力又差別很大。之所以要做決策編程,就是把你知識(shí)壁壘的風(fēng)險(xiǎn)降低,我有一個(gè)人放這里,你必須要讓我能夠理解你在做什么的情況下,實(shí)際上你在做的是知識(shí)傳遞,那么你在這種過(guò)程中,實(shí)際上每時(shí)每刻都在培養(yǎng)我一組人,而不是一個(gè)人了解你的代碼,而實(shí)際上你是在培養(yǎng)一組對(duì)你這個(gè)代碼有修改能力的人,這個(gè)效率是***的,從宏觀角度來(lái)講,它的效率是非常低的,甚至有過(guò)了一兩年之后,你自己再過(guò)來(lái)看,很可能你都不知道,所以讓一個(gè)人保有一份獨(dú)有的知識(shí)對(duì)于任何一個(gè)公司都是極大的風(fēng)險(xiǎn)。
很多企業(yè)在做這樣的事情的時(shí)候都會(huì)有這樣的困擾,比較初期的公司,他需要很長(zhǎng)時(shí)間,那么在這樣的時(shí)候,我可能會(huì)做很多培訓(xùn),可能效果都很小,那么其實(shí)真正地讓一個(gè)人很有效地承擔(dān)方式就是把它放到一個(gè)能力的極限應(yīng)用這種環(huán)境下面激發(fā)它,在這樣的情況下他自己做可能承擔(dān)很大的風(fēng)險(xiǎn),找一個(gè)人跟他一塊兒做,對(duì)于有經(jīng)驗(yàn)的人他覺得沃德效率降低了,因?yàn)槟阕约鹤?,我?guī)Я硗庖粋€(gè)人可能效率會(huì)很高,那么這個(gè)里面有一個(gè)宏觀的問題,不僅僅是把工作做完,如果僅僅是這一個(gè)標(biāo)準(zhǔn),我們有很多效率更高的方法,當(dāng)你在做敏捷時(shí)間的時(shí)候,讓它變成囤積知識(shí),讓成員整體能力提高,那當(dāng)這四個(gè)放在一起的時(shí)候,哪個(gè)更高?綜合來(lái)看敏捷更高,因?yàn)樗鉀Q的問題不是單一的問題,我們解決任何單點(diǎn)問題都有更高的效率,但是你想同時(shí)解決一些問題的時(shí)候,我個(gè)人感覺敏捷方法是更高的效率。
左為吳昊先生,右為宋金永先生
【編輯推薦】