`

跌跌撞撞地敏捷之路——如何结对

阅读更多

1、配套设施

两个人,一台电脑,一个人敲键盘,另一个人在旁边协助。协助包括检视代码、分析是否有未处理的边界、思考是否有更合理的实施方案等等。

 

2、人员搭配

最好是进行高低搭配。高低搭配,指的是技能高的与技能低的搭配,业务知识丰富的和业务知识贫乏的搭配,当然了也不要走极端,低也要低的有个限度,呵 呵。结对除了是为了结对完成任务,提高效率与质量之外,另一个作用就是提高团队的整体能力,在结对过程中,结对双方可以互相学习以提高彼此的能力。在项目 之间经常变换结对的配对人员更有助于团队的整体能力,不大建议在一个项目中的各个迭代中变换结对的配对人员,因为这样子做结对的效果就闭不了环,比如说上 一个迭代中A与B结对实现了某个功能,然后这个迭代中A与B不再结对,各自和其它成员结对去了,这时上个迭代中A与B实现的功能出现问题了,假如让A来解 决这个问题的话,那么B就失去了对问题为什么会出现、以及如何去解决问题进行总结、学习的机会,这样B以后还可能会出现类似的问题,因为他不知道他错过。

 

3、心态

心态要Open。在结对过程中,如果觉得对方的方案或者设计不太合理,那么一定要大胆地提出来,即使最终可能自己是错的也要指出来,在经过双方的讨论与确认后,才可以Go on,切忌那种认为无所谓,能够完成任务就行的做法,或者那种不好意思指出对方错误的做法,因为这样子对于对方(如果对方是错的)或者自己(如果自己是错的)来说都少了一次学习与提高的机会,另外这样子也许会让问题暂时沉淀下去并让加大后续解决这个问题的成本。以前曾经在结对过程中做过这种不好意思指出对方错误,担心让对方难堪的事,结果经过几个版本,发现在那时的基础上再添加功能非常困难,这时只好推到重来,进行大量的重构,哎,出来混总是要还的。

 

4、先完成功能,再优化

相对于那种进行详细地预设计后再实施编码的方式,我更喜欢先把功能实现出来,然后再进行优化。这不是说不做任 何设计就进行编码,而是说在进行简单设计后就可以实施编码,做出一个雏形后,再对代码进行重构,这种方式效率可能更高,有个实在的东西放在那儿给你借鉴, 你更容易挑出毛病,往往只有在实施过程中你才能发现一些在空想中没有考虑到的问题。

 

5、结对是两个人的事

结对时,如果结对双方技能(包括技术能力与业务能力)相差比较大时,注意不要让结对演变成一个人的活动:技能高的人一个人在那完成功能,技能差的人在一边晾着插不了手。这时实施结对的过程更应该注重“互动”,可以由技能高的人先讲解下实施方案, 然后由技能低的人来编写测试用例(UT),这样可以增加技能的人对方案、业务的理解,然后再由技能高的人来实施编码,最后由写测试用例的人来跑测试代码,通过这种方式可以将技能低的人培养起来,也完成了任务,虽然这时的效率会变低,但从长远利益来看是值得的,因为提高了项目组成员的技能水平。

 

 

 

 

分享到:
评论
2 楼 hbdzhm 2011-01-26  
不错。。学习了
1 楼 elemark 2010-12-26  
学习了,写的真好,真好......

相关推荐

Global site tag (gtag.js) - Google Analytics