建立“殺手”開發團隊
作者: BUILDER.COM
本文從ZDNet轉載
2002-5-8
建立強大的軟件開發團隊可不是一個輕松的過程。經過一番折騰,也許隊伍中的某些人會去坐冷板凳,弄得不好還可能需要重造全新的團隊。你得點燃自己的三把火、雷厲風行地做決定同時給自己定下成敗的標準。在組織你的團隊時一定要有一個清醒的頭腦,一定要講策略。由于多次遭遇以上的狀況,促使我開發出了一整套規則,通過它們幫助我成功地組織團隊來成功地交付高質量的創新軟件。
按NFL的樣子打造
有NFL(美國橄欖球聯合會)充做樣板你就不必重新起草隊伍的創建藍圖,按照橄欖球運動的術語來說,如果你需要一個四分位,但是在設計階段可用的最佳運動員卻是外接員,那么盡可接受外接員。對軟件開發團隊來說,你應該尋求你能找到的、最聰明的開發者,而不必非得找個具有特定工作技能的開發人員。什么叫聰明人?聰明人就是不僅僅只會編寫代碼的人,他們能作出的貢獻多了去了:他們可以給你提供想法,修正錯誤,增加成功可能性。別誤解我,如果你的工程具有特殊的要求,需要的技能比較冷門——很少有人或者不太容易掌握,那么你需要雇用掌握這些技術的人中最聰明的人。但是總的來說,不但聰明而且能對整個系統具有非凡洞察力的軟件開發者所做出的貢獻往往比那些僅僅編了幾年代碼的人要多得多。
盡一切可能找到緊跟最新技術的潛在團隊成員
我對大多數招聘面試缺乏深度感到難過。在許多情況下,如果候選人能說最流行的縮略詞(比如XML、HTTP或者SOAP等),他或她多半就能得到一份好工作。我對這種做法感到很不滿意。我相信,招聘面試一定要認真準備,要通過面試找到具有真本事的開發者,這非常重要。我的辦法是進行白板測試,也就是說,給候選人一只筆,要他或她真正解決一個問題。有時那個問題可能是一個代碼編寫方面的問題;有時則可能是算法方面的討論。問題描述通常要有足夠的模糊性以便能產生討論,從而令你對候選人具有更多、更深入的認識。
在這種情況下,候選人會受到一定的壓力,沒點真工夫可不敢上這臺子的,同時你也得到一個非常好的機會了解他們在這些情形下的表現。這種辦法可以幫助你找到最聰明的人。
互相幫助
在組織隊伍的時候,在隊伍中包含同你的技能互補的人員是極其重要的。如果你是一位技術型的項目經理,那么你可能得找些具有組織能力的人員。如果你是非技術型的經理,那么你可能得雇用些技術嫻熟的人員。這一辦法是不分層次的。在開發團隊的各個級別上,那些起領導作用的人都應該找些同其技能互補的人員圍繞在自己的周圍。就我的情況來說,我在技術上是把好手,但專業是軟件體系結構的設計。為了彌補我的技能,我找了些能在設計時更面向細節的人員。我還找了些非常在意工程截止時間而且能推動其他人保持正常開發途徑的職員。這就是團隊建設的關鍵所在——技術互補。
別怕僅次于你的人
這可能牽扯到其他方面的問題。但是,只要他們能具有與相應的貢獻所匹配的應有態度,那么我也并不在乎自己的開發團隊中還有第2個靈魂人物。作為開發工作的管理人員,我的工作就是擺平障礙、讓所有的人都能朝正確的方向前進。我總是希望額外的努力能令我們的隊伍獲得最終的成功。作為我的一個習慣,我提醒新員工們他們將全身心地投入到軟件開發的工作中;在我的團隊里,任何頤指氣使卻什么都不干的家伙是絕對不能容忍的。
個性的創造力
Garry Trudeau曾經在早期Doonesbury卡通節目中評論說,亂紛紛的橄欖球隊同幼兒園里的哲學別無二致。開發團隊同樣如此。期望每個人都會樂于同其他人一起生活是不現實的。事實上,如果你的隊伍里從來沒有出現過什么“另類”或者與眾不同的人是絕對有問題的。如果什么事情都很順利,既不需要嚴肅的討論也不需要必要的爭論,那么你的團隊不可能產生獲得真正成功所必需的創造性。最好的團隊中的成員會對他們的工作和想法引以為豪而且不會害怕把這些思想表達出來。你要保證團隊內部的爭論處于受到控制的狀態下,但是必須尊重新想法和從來沒有想到過的任何新概念。
別做小氣鬼
在購買設備或者新工具的時候,我總會對購買的事物和提出購買請求之后的原因進行評估。如果這些采購價格便宜而且購買請求也有一定道理,那么我通常都會批準購買請求的。為什么呢?總的來說,開發者就是喜歡新工具(我也是。,如果有人覺得有個好東西既然那么便宜而且又能幫助他們提高自己的工作效率,那么它幾乎就肯定能提高他們的工作效率而不論這些工具是不是真的名副其實。
如果購買標的比較昂貴,那你可得好好討論討論了,別讓提出請求的人在會談之前交給你書面的理由。你應該理解他的請求然后尋求替代措施,討論其利弊。如果你能公平地對待他們的要求就如同對待自己的要求一樣,那么你的團隊將更尊重你。
做消防隊員
所有的軟件開發工程都存在問題。如果你想獲得最終的成功,在問題發生的時候,你需要有足夠的能力解決問題。我的忠告是,如果可能,最好卷起袖子親自深入問題。如果這個問題對你來說太難以處理,那么你不妨尋求其他援助。我曾經親自打開調試器測試程序找出問題所在而贏得了團隊成員的尊重。別坐視火焰的蔓延,別期望它們能自己熄滅;否則最終迎接你的將是不可收拾的森林大火。嚴重的錯誤、系統崩潰、內存儲漏洞和不穩定的代碼,這一切都是非常嚴重的問題需要你立即采取行動。它們會妨礙你的團隊成員按時完成他們工作。撲火一定要快!
記住每個人的成功
什么叫團隊精神?記住,只有隊伍中單個成員是成功的這個隊伍才是成功的。每個人都必須為成功做出自己的貢獻而且為此得到承認。只有在他們付出的努力能達到承認的情況下,他們才能保持最佳的感覺。只有把個人的貢獻集合在一起才能把工程推向成功。作為一個項目管理人員,你一定要保證每個人都是成功的。這就是說,你必須確定每個人都期望能付出什么,而且要找出這個隊伍中最出色的成員,獎勵他們做出的成績。
面對問題迎頭而上
許多經理人趨于避免沖突和麻煩的問題,但是我相信,成功的開發團隊是敢于面對問題的;乇軟_突會導致某些成員只滿足于做最少量的必要工作。我比較喜歡那些其成員敢于互相挑戰從而把工作做得更好的隊伍,這樣的結果往往就是成功,只有這樣的隊伍才能開發出軟件精品。
文章來源于領測軟件測試網 http://www.kjueaiud.com/