不要恨程序員,恨那段代碼就好
遇到流程與人員的問題,你是怎麼處理他的? 技術不是決定問題的關鍵,通常都是其他的問題。且無論是任何問題,都是人的問題
你不會看到一個快樂、健康、有凝聚力、社交正常的團隊失敗。
- 你團隊會寫多少程式?
- 你們在開發什麼軟體?
- 你喜歡你的同事嗎?
紀律,領導以身作則
你這臭小子!我知道你的名字了!看我怎麼收拾你!我看你還笑得出來嗎?你會想哭都哭不出來的。你必須一條一條的學下去。我會教你的。 – 哈特曼
如果你們團隊沒有正確的工作紀律,那麼你們所使用的工具和流程幾乎起不了任何作用。你想要讓團隊成長,你需要一個領導,而不是一個訓導員。
注意,不要被槍殺了
- 保持謙虛,假定你是錯的,不要總是喊著狼來了。
- 提出建設性批評要小心,避免被流放
- 想要贏的尊重,先拿出實實在在的成績
- 百說不如一幹,想要推動啥,自己要彎下腰,事情落到別人身上,他只會認為你找麻煩,你需要做出實際行動。
- 沒有銀子彈,沒有通用的建議可以適用所有情況
愛鄰居,而不是假裝愛你的鄰居
最有效的領導方式就是以身作則,但你想要激勵一些人,最好的方式就是營造一個協助的環境,虛情假意的關心,不會維持太久。
狼人與吸血鬼是否可能合作?
開發人員的權限到哪?及要開放到什麼程度,他們應該受限制,這不是質疑開發人員的能力或態度。有一個專業的人負責那些事,我們可以花更多的心力在照護我們的”代碼”上。
讓我們公開討論,互相學習怎樣把我們喜歡做的事做得更好。
我們必須讓狼人跟吸血鬼合作,達成一個狼人跟吸血鬼不合作就不可能完成的共同目標。發揮他們的獨特技能。再次強調,狼人跟吸血鬼應該事合作關係,不應該是對抗關係。
Pair Programming 與 Code Review
- 兩個人通常有自己的獨特技能,而且是可以傳遞的
- 相當於一個駕駛與領航員,通常總會有一個人想出好點子
- 團隊大一點,可以每周變換,讓開發者互相溝通
多數人在可選擇時都會選擇息事寧人,但是在 Pair Programming 時是不可能的。沒有人真的想花時間去理解不簡單的新代碼,但是通常出事時,可能已經來不及了,寫那段代碼的程序員也可能不在了。
無論你想用任何方法,請確保有超過一雙以上的眼睛在看你寫的代碼。
想浪費時間嗎?開會就對了
- 會議不該超過一小時,否則應該判死刑
- 每個會議都要有明確目標
- 開會前,請先做好功課
- 他應該是可選的,而非強制的,不需要出現的,想像一下,舉行一個每個人都想參加的會,你會很有成就感
- 會議完成後,統整一下所有人的待辦事項
- 試著不舉辦會議會有甚麼問題,如果沒有,或許他根本不需要舉辦。
當你對你的項目宣戰,你就成了團隊的負擔
當你有好的想法要推動時,如果已經開會討論說不要時,在做事時,不要繼續強調”當初如果你們聽我的話用….”,因為這無法解決問題,只是讓團隊煩躁。
識別壞蘋果
如果你容忍團隊裡面的問題員工,將會大大打擊士氣:
- 他們會掩飾自己的無知,拒絕跟團隊夥伴學習
- 隱私權的過度渴望,如”我不需要任何人來查看”
- 在意自己的地盤
- 抱怨團隊的決定
- 團隊一直在說某人的悄悄話
- 不是團隊優先,表示他沒有融入團隊
你不必與每個人成為朋友,只須對他們有基本的尊重,並讓團隊正常運作即可。如果主管沒有處理壞蘋果,表示他玩忽職守。把人開除跟調職決定很困難,但如果你發現你六個月前就該把某個人調走,你會更痛苦。
壞蘋果的溢出效應
為了測試壞蘋果,我們找了一群大學生,裡面有人是扮演的壞蘋果
- 悲觀主義者 – 抱怨無趣,質疑團隊
- 渾蛋 – 說別人不好,但又提不出更好的
- 懶鬼 – 只會說無所謂
團隊有壞蘋果時,團隊能力會下降 30%~40%,重點是,溝通變少、容易吵架,且其他成員也開始與壞蘋果表現的一樣,這就是壞蘋果的溢出效應。
如果你認為團隊裡面沒有壞蘋果,注意一下,你會不會就是壞蘋果
從根源解決問題,除掉害群之馬,即使那個人有可能是你。
獨自開發或遠程開發
遠程開發時,只能用電話來確認需求,一來一回可能要耗費極大的時間。且獨立開發會讓你孤獨到找不到方向,解決辦法很簡單,找到一個跟你一樣熱情的,即使他在遙遠的一方,你們緊密的合作可以讓你們勾勒出強大的願景。
- 實時交談
- 所有人的工作清單
- 培養面對面的溝通
- 狀態報告 – 昨天做了什麼、今天要做什麼、遇到什麼阻礙,讓每個人都這樣報告
- 會議記錄 – 誰參加了會議、討論的話題、決議是啥、下一步是啥?
如果這對你們很重要,那怕要花上時間,甚至過程中犯錯,都是值得的。