Adrian Wible
從獨狼到協作#
程式設計需要深度思考和獨處。因此就有了「程式設計師是獨行俠」的刻板印象。但這種「獨狼」模式正逐漸讓位給更具**協作性(collaborative)**的方式。這種方式讓開發者彼此之間、以及與非開發人員(業務和系統分析師、品質保證專業人員、使用者)更緊密地合作,提升品質、生產力和工作滿意度。
光是成為技術專家已經不夠——你必須善於與他人合作。
結對程式設計的價值#
作者是**結對程式設計(pair programming)**的忠實支持者,稱之為「極致協作」。結對時,雙方都能成長:
- 如果搭檔在領域或技術上比你強,你能明顯從對方的經驗中學習
- 如果你在某方面更強,透過解釋的過程會更深入了解自己的知識
- 雙方總能互相帶來些什麼——無論是領域知識還是技術經驗
結對程式設計在敏捷軟體開發中很流行。有些人質疑:「為什麼要付兩個人做一個人的工作?」作者認為不應這樣看。結對能提升品質、加深對領域和技術的理解,並降低彩券風險(lottery risk)——即專家開發者突然離職的風險。
難以量化的收益#
- 學會新的鍵盤快捷鍵的長期價值是什麼?
- 如何衡量搭檔阻止你走進死胡同的影響?
- 一項研究指出結對在效率和速度上有 40% 的提升
- 但大部分收益本質上難以量化
如何選擇搭檔#
- 如果你是團隊新人,找一位知識豐富、有良好人際和指導能力的成員
- 如果你缺乏領域經驗,與該領域的專家搭檔
如果你還不相信,不妨實驗看看:與同事一起結對處理一個有趣的難題,感受一下。試幾次看看。