- 敏捷開發(紀念版)
- (美)羅伯特·C.馬丁等
- 432字
- 2023-08-31 19:23:37
結對編程
兩名程序員結對一起寫代碼。一個控制鍵盤并輸入代碼,另一個觀察輸入的代碼,找出錯誤和改進措施。(2)兩個人頻繁互動,都全神貫注地寫代碼。
兩個人的角色頻繁交換。控制鍵盤的人如覺得疲勞或遇到困難,就由同伴接過鍵盤繼續寫代碼。在一個小時內,鍵盤可能在他們之間來回傳遞好幾次。最終的代碼是由他們倆人共同設計和實現的,兩人功勞均等。
結對成員并不固定。一個合理的目標是每天至少改變一次組合,使每個程序員在一天之內可以在兩個不同的結對組合中工作。在一輪迭代中,每個團隊成員都應該和其他團隊成員結對工作過,并且所有人都應該參與本輪迭代所涉及的每項工作。
結對編程顯著提高了知識在團隊內的傳播速度。當然,專業知識還是必不可少的,需要一定專業知識的任務通常需要合適的專業人員去完成,不過他們幾乎也會和團隊中的所有人結對。這將加快專業知識在團隊內的傳播。在緊要關頭,團隊中的其他人就能夠代替專業人員的角色。Laurie Williams(3)和Nosek(4)的研究表明,結對非但不會降低開發團隊的效率,反過來還可以大大降低缺陷率。