我們現(xiàn)在這個(gè)公司的大老板,平時(shí)在三樓辦公。但是,每天都會(huì)有幾次,他會(huì)在我們的辦公室里走來(lái)走去——“進(jìn)行著聊勝于無(wú)的監(jiān)督工作”。
?
我想,他大概沒(méi)有聽(tīng)說(shuō)過(guò)“XP”、“結(jié)對(duì)編程”這樣的名詞。
?
4月15日,周六,我參加了BEA上海User Group的一次活動(dòng)。北京來(lái)的Charls,做了一次非常精彩的演講。名字叫做《一個(gè)Xper的心路歷程》。全場(chǎng)笑聲不斷,Charls的感染力征服了每一個(gè)人。
演講最后提出的一個(gè)觀點(diǎn)是:“成為一個(gè)Xper,就是成為一個(gè)合格的程序員”。要勇于暴露自己的不足,要善于溝通,要謙虛,要有計(jì)劃,要……做到了這些,我們才算是“剛剛夠格”。
?
我基本上已經(jīng)被說(shuō)服了……在Charls演講結(jié)束的時(shí)候,我只想問(wèn)一個(gè)小問(wèn)題。因?yàn)樗f(shuō),在項(xiàng)目組里,如果有人遇到問(wèn)題,不要自己偷偷摸摸
的Google搞定,而是應(yīng)該馬上“舉手”,看看小組里有沒(méi)有人能夠馬上告訴你答案。這才是“勇于暴露自己的不足”。而我還想從另外一個(gè)角度問(wèn)一下。
?
(以下對(duì)話是一個(gè)大概的回憶)
?
“我一直以來(lái)的工作方式是這樣的,遇到問(wèn)題的時(shí)候,首先Google一下,這樣我不但可以找到當(dāng)前這個(gè)問(wèn)題的答案,還能夠了解很多周邊的知識(shí),觸類旁通。如果直接問(wèn)人的話,問(wèn)題解決,我也就不再深入了。這樣是不是對(duì)于個(gè)人能力成長(zhǎng)不太有利呀。”
Charls:“項(xiàng)目進(jìn)度在那里,當(dāng)然是馬上解決問(wèn)題最好。”
我:“那么我們是不是可以這么理解,XP對(duì)于項(xiàng)目開(kāi)發(fā)的目標(biāo)很有效,而對(duì)于程序員個(gè)人能力的成長(zhǎng)目標(biāo),不是很有效?”
Charls:“我一直這么說(shuō),XP更加高級(jí)的剝削方式……”
?
頓時(shí),我豁然開(kāi)朗。XP的好處,從老板的角度來(lái)看,應(yīng)該更多:
?
結(jié)對(duì)編程——最有效的相互監(jiān)督機(jī)制
結(jié)對(duì)編程——最有效的內(nèi)部培訓(xùn)機(jī)制
測(cè)試驅(qū)動(dòng)開(kāi)發(fā)——最有效的質(zhì)量保證體系
User Story+客戶現(xiàn)場(chǎng)辦公——最低成本的需求收集、分析機(jī)制
每日集成——有效降低集成、測(cè)試成本
…….
結(jié)對(duì)編程——最有效的內(nèi)部培訓(xùn)機(jī)制
測(cè)試驅(qū)動(dòng)開(kāi)發(fā)——最有效的質(zhì)量保證體系
User Story+客戶現(xiàn)場(chǎng)辦公——最低成本的需求收集、分析機(jī)制
每日集成——有效降低集成、測(cè)試成本
…….
從程序員的角度來(lái)說(shuō),這些“與我何干”呢?
所以,一個(gè)追求利潤(rùn)最大化的老板,就應(yīng)該選擇XP,而一個(gè)聰明的老板,不但要運(yùn)用XP,還要保證8小時(shí)工作制,甚至給員工20%的 On Beach時(shí)間(來(lái)源于Gigix對(duì)于ThroughWorks的介紹)。這樣才能保持員工的可持續(xù)編程能力。如果我是老板的話,我就會(huì)這么干!
那天討論的話題中,還有一些XP沒(méi)能夠很好回答的問(wèn)題:
比如文檔。在我以前的開(kāi)發(fā)實(shí)踐中,我們都建立了一個(gè)Wiki,并且強(qiáng)制程序員每人每天就Wiki幾次,以分散寫文檔的壓力。
比如對(duì)于人員的高要求的疑問(wèn)。我的理解是,XP對(duì)人員提出了很高的要求,但是同時(shí)也提供了最有效的人員培訓(xùn)機(jī)制(結(jié)對(duì)編程),所以,對(duì)于入職人員的要求,并不需要很高,更多的是考察一個(gè)人的溝通能力、學(xué)習(xí)能力,而不是開(kāi)發(fā)的能力。