SAP项目中的结对编程(Pair Programming)

1. 背景

结对编程(Pair Programming)是一种敏捷软件开发(Agile Software Engineering)的方法,两个程序员在一个计算机上共同工作。

很多人会问,为啥要进行pair?为啥本来一个人的工作要两个人去完成?

其实这是一个“短期最优”VS.“长期最优”的问题。

短期来看,一个程序员完成编码确实会速度最快,效率最高;但随着需求的增加,代码复杂度也会越来越高,运维的cost会慢慢超过开发新功能的cost。这时pair的优势就显现出来了,通过pair的方式,可以在项目初期就更好控制代码质量,降低项目风险,保证项目长期、稳定的运行。

SAP的实施项目中,通常面临需求复杂、人员变动频繁的问题,有效的使用pair的方式进行项目实施,则能有效地提升项目的进度和稳定性。


2. Pair的要点

  • 两个role - 驾驶员“Driver” + 领航员“Navigator”;
  • 要经常进行角色互换;

 

3. Pair的优势:

  1. 分工明确:Driver进行代码的实现,Navigator在Dirver编码过程中,一起review代码,并做代码的全局性考虑。通常senior的程序员更多的时间会担任Navigator的role,较junior的程序员进行编码的driver;
  2. 保证质量:研究表明,程序员实现代码和运维代码的时间比例大概是1:10,通过结伴编程的方式,可以让程序要有花费更多的时间用于代码设计,尽可能地减少bug, 从而更好地保证代码质量,降低在代码运维过程中的花费;
  3. 传递经验:结伴编程可以快速提升程序员的编程能力,新老搭配pair,快速地帮助新人更快地成长和融入项目团队;
  4. 减低风险:在项目中,往往会出现“没有人能读懂的代码”,通过结伴编程的方式能保证对于一段代码至少有2个人负责,从而降低由于人员变动引发的项目风险;
  5. 团队合作:两个人一起编程往往较一个人solo编程更加有趣,通过这种方式也有助于促进团队成员间的沟通和了解。

4. 要点

结伴编程的两个人难免会出现“想法不一致”的情形,记住下面的几点有助于解决结伴编程过程中遇到的问题:

  1. 作为driver,要意识到“自己是可能犯错的”,不要碍于面子,不好意思面对自己的错误,犯错是成长的必经途径;
  2. 尊重你的同伴,分清代码和同伴,你们只是意见不同,讨论要对事不对人。

Pair Programming好比汽车拉力赛中的co-driver,比赛的成功需要pair间的紧密协同,SAP项目的成功也是靠着每一组pair的共同努力。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十年铸器

给作者赏杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值