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