趣文网 > 作文大全

项目管理系列之:用结对编程改善团队协作文化

2020-12-03 19:15:01
相关推荐

在敏捷开发文化中,结对编程是作为一种非常推荐的提高工作效果的方式,被不断宣讲的。

在还不懂结对编程的人眼里,结对编程的印象是这样的......

结对编程是什么

结对编程是极限编程思想中提出的一种实践, 结对编程,简单的理解就是两个人坐在一起共同完成一个程序或一段代码。

其中,一个人主要动手编程代码,另一个人在旁边实时查看和评估代码,并帮助整理设计思路,发现问题。

两个人在一起时可以相互讨论,有效地避免了闭门造车的设计偏差,减少后期的code review时间,减少Bug出现概率,和更大的修复Bug所需的时间,以及接手他人代码的学习成本。

[图:非结对编程]

[图:结对编程]

结对编程有什么好处

可以看出,结对编程还是很有好处的。

1、编程过程就是设计贯彻过程

需求和设计都在其他人脑子里,口传太随意、编写文档形式化又太重。让掌握需求和掌握设计细节的人,和具体编码实现的人一起来开发,能够最大化的减小误解和设计传递偏差,自然也就能够比避免大量的无用功和返工,提高了整体的进度效率。

2、编程过程就是代码检查过程

每个人的编码习惯都是不同的,有些坏习惯会引入很多代码的坏味道,比如随意的命名,不进行方法封装,无设计或过度设计。一时的思路不清引入弯路,小到语法,大到解决问题的思路 ,这些都可以由坐在你旁边的小伙伴随时提醒你。写出的代码质量自然就会棒棒哒。

3、编程过程就是分享学习过程

在编程过程中,一般由新手或者某个方向经验较少的专职程序猿进行实际编码,而在结对过程中,新人能够很快的熟悉团队术语、已有的代码资产,互相学习新的技术和能力,而无需专项培训;也减少了对某个事必须只能某个人做这样的依赖,降低了整体团队的风险。

4、编程过程就是团队建设过程

结对能使大家沟通的频率大大增强,互相之间更加熟悉和融洽,信息流动顺畅,当有问题发生时,也能够开展主动和良好的协作,共同完成任务。

在有时没有小伙伴的时候,也可以用一些替代工具,比如小黄鸭工作法,用一个小黄鸭替代小伙伴,自己向小黄鸭解释自己的设计思路,在解释的过程中也能过发现思考的不足之处。

国内结对编程的难点

而在国内,含蓄害羞内敛的程序猿占了大多数,而这阻碍了结对编程在国内的推广和使用。

开发人员拒绝结对甚至宁可辞职,敏捷团队负责人也会灰心的表示,国内就算了,就这样吧。

我们知道,这的确存在很多需要克服的问题。

1、对固有习惯的保持、对更高的沟通和协作能力要求的抗拒

结对编程把独自一个人的程序员的工作细节放到另一个人眼里,大家会担心,写出的坏代码是不是会被人嘲笑,不良的思路是不是反映了自己很笨,不善言辞是不是影响了别人评价自己。而如果没有一个良好的团队开放性氛围文化做支撑和铺垫,这就会把成员推回自己的小格子里。

2、观点不一,各持己见

每个人都有自己的习惯和观点,如果对设计和代码风格,甚至是某个注释的用词都追求完美的两个人结对,就会争吵不休,无法得出结论。

3、参与感差或者使劲催促指责

A君:小伙伴在编程,嗯,没我啥事,就打一会“望着农药” (王者荣耀)吧。

小伙伴心里默默想:...... (兄弟给我玩会,你来写吧)

B君:小伙伴写得太慢了,又笨又固执,我是在受不了,还是我来写吧!!

小伙伴心里默默想:...... (暴击+10086点)

4、长时间结对非常疲劳

结对编程能使人非常专注,所以效率较高,但是也很累;没有私人碎片时间去做些工作无关的放松的事情。

若没有好的节奏,就会非常疲惫,导致拒绝结对。

建议方式

那么在极迭代看来,结对编程不是个必选项,在敏捷实践中是个可选项,依赖于团队文化是否足够敏捷和成熟。

一个开放性的团队文化是一切的基础,开放性的学习型团队,会被引导成为一个拥抱沟通、拥抱透明化、拥抱分享和学习的文化环境。

在这个环境里,大家既主动积极,又开放互助,不担心犯错误,又会具有洁癖,主动修复自己的错误。

有这样的文化基础,才能够顺利引入结对编程。

那么具体引入,也有一些适合国内的可选建议:

对于未开展TDD的团队,可以在设计澄清阶段进行框架性编写,这一阶段进行结对编程,然后自行完善实现。

这种方式能够保障需求设计传递不失真,解决描述偏差问题,而这是60%以上故障和Bug的根源。

而且能够避免长时间的持续关注,导致的关注过细,或者关注疲劳

对于已开展TDD的团队,一人写TDD失败的测试用例,一人完成代码跑通用例,然后不定期交换。

TDD是编程的最佳实践,如果已经熟悉了TDD,就可以由经验较丰富的、熟悉该项需求设计的人来编写测试用例,而经验较少的人来写具体实现,在完成时,两个人都对该功能达成了一致性的认可。在下一个需求到来时,就可以轮换角色,挑战新任务,共同进步。

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

我家的院子作文 不一样的风景作文 不会写作文怎么办 渴望作文500字 关于追星的作文 六年级作文350字 优秀作文1000字 关于美术的作文 三年级同步作文上册 三年级写事的作文 挫折作文开头结尾 自我画像作文 温暖的回忆作文 打磨作文 体育单招作文 向日葵作文三年级 四季风景作文 1000字优秀作文 龙舟比赛作文 雪的作文500字 描写西瓜的作文 新闻作文100字 高一作文500字 4级作文题目 坐飞机的作文 三年级写植物的作文 想象作文四百字 家风作文500字 大作文本 精益求精作文