如何結對
- 角色分為駕駛與導航,駕駛應專注在戰術面的執行,而導航則負責戰略面的思考
- 角色應時常交換來注入一些活力,同時避免思考僵化
- TDD 的『 紅燈→綠燈→重構』很適合套用在傳接球式的結對方法
- 使用你是我的手,透過大量實作與回饋來加速新人訓練
- 每次開始之前,雙方確定此次結對的目標,如有必要也可使用蕃茄鐘之類的方法來維持生產力
- 定期輪替結對對象,這不但可以增加團隊的公車指數,也可以創造些新鮮感、維持團隊的動力
- 開始前應當彼此約定合適的時間並排除干擾,如果這是團隊常態活動,也可試著由團隊來共同安排時間
- 注意實體環境,環境的設定目標應該是讓彼此都能專注在任務上
- 遠端結對的重點:網路快且穩、露臉、準備線上白板、能專注開發的環境、以及刻意提升與夥伴的熟悉度
- 任務完成時別忘了慶祝一下!
- 最後是會降低效率的地雷區:靈魂不在、不專注、微管理、長時間擔任同樣角色、長時間結對沒有自己的空間
結對程設指南 (1):如何結對 The Howtos of Pair Programming
結對帶來的好處
- 透過密集高頻的即時溝通來加強知識分享
- 溝通過程釐清個人認知的自我檢視
- 互相加油互相漏氣,保持專注在當下任務上
- 四隻眼睛盯著螢幕的即時程式碼審查
- 一人執行、一人思考,雙人版的快思慢想
- 大量交流產生的團隊歸屬感以及程式庫共有感