敏捷实践之结对编程Pair

本文是个人总结摘记,部分文字摘自其他大神博文等,如有雷同,未列参考文献,请见谅;

结对编程的开发速度通常小于简单地将一个人的开发速度乘以2,但它依然能创造价值:知识的共享,代码质量的提高,缺陷率的降低。

定义

  • Pair就是两个人同时工作在同一个 Story 上,一起讨论 Story 的解决方案,并编写代码实现功能,一个人敲键盘,一个人看屏幕,穿插着进行。Pair 的小伙伴在快速敲击键盘的时候会伴随一些交流,并时不时停下来讨论说笑片刻,亦或是在欣赏一下自己漂亮的代码。

形式

  • 搭档的选择上,两个人的技能和经验最好是相当的,这样就不至于一个人成为被教育的对象,而另一个人成为键霸。
  • 有新人加入时,需要一个经验较丰富的老人 Pair,最好是有良好 Coach 技能的老人,老人尽量只提供思路启发,并让新人多思考和动手实现。
  • 经验相当的 Pair 时,可以一起讨论解决方案,并达成一致,然后一个人写测试,另一个人编写代码通过测试,两人同时保持 focus。
  • 定期更换 Pair,粒度可以控制在以一个 Story 完成为节点。大一点的 Story 可以 keep 住一个人不动,另一个人进行更换。
  • 遇到技术阻碍时,分头并行寻找解决方案,并最终一起决定采取什么方案。
  • 当两个人对实现细节的优劣拿捏不定时,邀请团队经验丰富的老人做出建议参考。

好处

  • Pair 将本来可以并行工作的两个人聚焦在一件事情上,表面上是在降低生产力,实际上它确实是有一定的成本的。而这种付出并不会打水漂,最明显的好处是能够最大化知识的共享(尤其是更换 pair 的场景下), 包括业务知识的共享、技术方案共享、解决问题思路的共享,这一点尤其体现在团队有新人融入的时候,通过 Pair 能够快速带领新人成长起来,提高整个团队的战斗力。
  • 另一方面可以提高代码质量,Pair 实际上是两个人一直在不停的做 Code Review ,两个人的思维碰撞能够避免很多代码小聪明和不好的编码习惯。
  • 有些时候,项目进度的紧张,Pair 并不会这么理想的被落实,团队可以进行灵活的调整。如果 Pair 的时间减少了,可以通过加长 Code Review 的时间来做一些弥补。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值