4. 誤解: 工期緊必然需要走捷徑。
很多團隊都以市場壓力大、需要立即發布產品為由,寫出劣質的代碼。寫出的測試程序繞開問題部位;瘋狂的攻堅沖鋒中認真設計原則被拋在腦后。但是,作為各個軟件開發團隊,大家都一樣。高效能的團隊在成功之余不失英雄本色:正相反,當壓力出現時,他們巋然不動,以自身深厚的功底成功化解任務。我們無數次聽到過高壓下出高成就的傳奇故事 —— 要么是軍事行動、專業運動,要么是飛行員在河上強行降落 —— 其中的原因無非是英雄們的那句話,“我們受過專門訓練”。
5. 誤解:開發人員應該全權負責自己的代碼。
負責自己的代碼,聽起來很正確。理所當然的。個人職責嘛。可是,開發團隊里在代碼上分配歸屬人就意味著每個模塊的程序只有一個開發人員來寫,只有一個人能掌握。這會導致負責模塊的程序員之間產生“地方保護主義”。對于公司老板來說,這造成了很大的風險,因為團隊中損失一個人就會影響整個團隊的進程,如果這個人是負責系統的關鍵核心模塊的,那更會造成公司業務癱瘓。健康的工作方式是讓每個程序員都經手過系統內的所有代碼。結對編程能讓你實現這個效果,知識會從一個人傳遞到另一個人。所謂的“巴士指數”(團隊中的多少人被車撞才會導致大家都無法進行)是一個軟件創業公司的關鍵風險指標。我們這里所說的不僅僅指的是巴士在使壞,還有你的競爭對手,他們樂衷于挖走你最好的程序員。理解整個系統的人越多,你的公司就越健壯,越有活力。
6. 誤解:你需要一個怪異的招聘過程。
你會在雇用一個演員時不進行試鏡嗎?如果要試,你就能短暫的做一回導演。這正是如今幾乎所有的公司在招聘程序員時會出現的場景。通常的面試都會談論應聘者的經驗。這就完了。你可以想象一下,問一個躊躇滿志的演員是否喜歡飾演哈姆雷特這個角色。你能傳神的扮演他嗎?好的。你被雇用了!很多著名的軟件公司喜歡給應聘者出腦筋急轉彎題。有些頂級的公司甚至給候選人進行IQ測試。他們中最可取的是在白板上模擬軟件問題,讓候選人解決。這些情況讓人很無奈。我要說的是這非常明顯的道理:招到好的程序員的唯一可靠的方法就是跟他們一起編程。我對程序員的面試是跟他們進行一個小時的快速的結對編程 —— 而且這只是面試的一個開始。大量的篩選,把他們按滿分100打分。什么樣的會被選中?思維敏捷,抽象思考能力強,掌握各種算法,問題解決能力強。而最重要的是,領會能力。因為協作是對團隊來說最重要的東西,如果你不能理解其他人是如何思考的,再聰明也沒用。
7. 誤解: 專業化很重要。
非常自然的,管理者遇到問題時習慣把問題分解,各個擊破。在開發團隊里,這通常慫恿技術人員專項發展。前端開發,后臺開發,數據庫管理員等等。Brad Feld 在他的博客里建議說,每個團隊里都應該有個“全能程序員”,這個人是個真正的通才。他是對的,但他說的還不夠。每個團隊里的每個成員都應該是通才全才。為什么?因為專才導致團隊脆弱。還記得“巴士指數” 嗎?每個專才都是一個弱點;如果他離開了,你找不到替代他的人,你完了。不僅如此,它還能使團隊機能失調。專項的人需要把他們負責的系統里相互獨立的模塊通過定義好的接口相互通信。事實上,他們每人都寫出了各自不統一通信方式。這導致了大量的額外開銷,經常會出現“地方保護主義”或相互指責。而在著名的 Pivotal公司,每個程序員都要接觸到系統的各個層面,從HTML和JavaScript到Ruby,到數據庫。而有些人認為專才會在系統的某個層面上更專業的,這種說法未必站得住腳。如今的軟件技術變得已經不是那么復雜了。程序員能更容易的掌握各個層面上的知識以及如何操作它們。順便說一下,這暗示出了另外一個非常重要的信息:你不再需要為某個特殊的技術而招聘人才了。缺少Ruby程序員?好,招一個Java程序員,培訓他使用Ruby(這里使用結對編程格外的有效)。有些人稱自己為“服務器端”程序員?沒問題,讓他們寫JavaScript程序,他們很快就能學會。
如果他們是人才,那就體現在這里。
想認識全國各地的創業者、創業專家,快來加入“中國創業圈”
|