结对编程 += 高质量+低成本

来源:互联网 发布:淘宝好评改为差评 编辑:程序博客网 时间:2024/05/21 17:39

结对编程是敏捷开发的实践之一,简单的说就是两个人一台电脑,两套鼠标键盘,一个人看一个人写,两两结对。有点意思吧,原本的编程高手们这下要两人一组开始合作了,少了点英雄本色,多了些鼠标键盘,哈哈。不免让很多同志们心存怀疑。


实践结对编程一段时间来,有些感受和大家分享。

先说说优势:


 

结对编程 += 高质量+低成本


Review意味着成功产品的诞生,成功的Review将在研发阶段不断的发现问题,解决问题,从本质上提升产品的质量,避免后期产品出现问题大量的维护成本的投入。更早的Review发现问题,将带来更高的产品质量和更低的研发成本。


两个人一起面对同一台电脑,开发一段代码,一个人写,一个人看。这样的开发过程就意味,当你每作出一个决定,每写下一段代码的时候,另一双眼睛正在挑你毛病。大概程序员们都有一颗侠客之心,喜欢用一种挑剔的眼光审视别人的作品。跟随着你的节奏,一行行审视着你的代码,发现问题立刻解决。


相比较传统开发,每天大家都在忙于自己的工作,相对独立,都封闭在自己的思维天地里,待一段时候后进行review。首先,大家各自忙于自己的工作,很少有闲心去review他人的代码,以至于一些team采用comments奖励方案,谁提的comments多就会在月底收到书籍礼物等“现金”奖励。这种奖励有一定的作用,但当你对奖品失去兴趣时,你还会钟情于这项奖励制度下的Review吗?当然不会,哥们欲望膨胀的很快的,小小的激励怎么能满足长远的发展。


传统开发模式想提高Review很难。我曾为此花了半年时间,开发出一个复杂的Review系统,流程紧密,给研发团队提供丰富的Review数据和分析报表,让所有的产品组通过这个系统来得到Review质量的提升。但事实并非如此,最终报表所反映出的数据说明,大家仅为了满足management的要求在系统里发起了Review,并没有带来真正的Review comments。


结对编程虽然花费了两个人力在同一个工作上,但是带来确实质量的提升。随着产品的深入发展,产品质量得到持续保证,风险系数越来越低。高质量带来低风险,最终在项目结束时所消耗的研发成本将是最低的。

原创粉丝点击