Adrian Wible

從獨狼到協作#

程式設計需要深度思考和獨處。因此就有了「程式設計師是獨行俠」的刻板印象。但這種「獨狼」模式正逐漸讓位給更具**協作性(collaborative)**的方式。這種方式讓開發者彼此之間、以及與非開發人員(業務和系統分析師、品質保證專業人員、使用者)更緊密地合作,提升品質、生產力和工作滿意度。

光是成為技術專家已經不夠——你必須善於與他人合作。

結對程式設計的價值#

作者是**結對程式設計(pair programming)**的忠實支持者,稱之為「極致協作」。結對時,雙方都能成長:

  • 如果搭檔在領域或技術上比你強,你能明顯從對方的經驗中學習
  • 如果你在某方面更強,透過解釋的過程會更深入了解自己的知識
  • 雙方總能互相帶來些什麼——無論是領域知識還是技術經驗

結對程式設計在敏捷軟體開發中很流行。有些人質疑:「為什麼要付兩個人做一個人的工作?」作者認為不應這樣看。結對能提升品質、加深對領域和技術的理解,並降低彩券風險(lottery risk)——即專家開發者突然離職的風險。

難以量化的收益#

  • 學會新的鍵盤快捷鍵的長期價值是什麼?
  • 如何衡量搭檔阻止你走進死胡同的影響?
  • 一項研究指出結對在效率和速度上有 40% 的提升
  • 但大部分收益本質上難以量化

如何選擇搭檔#

  • 如果你是團隊新人,找一位知識豐富、有良好人際和指導能力的成員
  • 如果你缺乏領域經驗,與該領域的專家搭檔

如果你還不相信,不妨實驗看看:與同事一起結對處理一個有趣的難題,感受一下。試幾次看看。