結對開發 (Pair Programming) 是一種極具特色的敏捷軟體開發 (Agile Development) 方法,雖然可能會造成團隊成員暫時性感情失和?
但它在知識共享、團隊協作及人才培育上大有幫助,對於資源不足的新創企業而言,也是很好的軟體產品開發工具。
定義
結對開發 (Pair Programming)是一種敏捷開發方法,由2位工程師同時、同一個畫面、針對同一產品進行開發,一人負責撰寫代碼,一人進行實時審查。
功能
Pair programming會使專案開發時長增為1.5倍 ,並多一位人力需求,但它具備許多優勢:
Bug、代碼行數各減少15%,錯誤率減少、運作效率更高,產品品質大幅提升。
知識共享、技術交流,有助於培育人才及職務代理。
提升團隊溝通及協作效率。
如何執行?
參與人員
駕駛員(Driver):撰寫代碼。
導航員(Navigator):實時審查,思考策略、發現問題。
執行內容
討論開發目標、方法及分工。
共同編碼。
每隔0.5~1小時交換角色,確保2人都能全面了解產品。
定期(每日)回顧開發過程,總結經驗並改進方法。
由於十分耗費心力,每日不宜超過3小時 ; 一週不宜超過3次。
執行流程
1. 分析項目需求,確保兩人理解一致。
2. 代碼撰寫。
3. 共同測試程式碼並修正錯誤。
4. 記錄開發過程及結果,確保知識共享。
對新創大有幫助?
優勢
幫助徵才、留才:對於新進人才,結對開發是先進分享經驗、技術交流最有效的方式之一。
培育領導人才:定期交換角色,可以培養工程師的協作及溝通能力,長期運作得以培育出兼具技術面及管理面能力的人才。
加速產品上市:減少錯誤修正時間,讓產品更快進入市場。
不是任何情況都適合!5種應用時機
系統已有大致架構與設計,只做新功能開發。
代碼重構(Refactoring):簡化結構、增加可讀性,不影響輸出結果。
新進人員訓練
職務代理制度
抓蟲(Debug):開發人員找不出問題,安排其他團隊成員進行結對開發來協助。
Comments