践行结对编程

简介:

我们团队从五一之后开始实行结对编程,至今两个月了,取得了明显效果的同时,也遇到很多问题。

先说说优点。

  1. 学习和上手的速度快
    我们团队除了我之外有四个人,开始的时候其中只有一个勉强算是了解需求和系统结构的,还有一个新成员连.Net都没用过。实行结对之后,几乎没有使用额外的培训时间,一周之后就基本上可以参与到工作中了,无论是业务需求、系统构架、版本控制、内部API,用得到的地方基本上都掌握了。事后总结,之所以学的快的原因,一是用到的才去学,目的明确,学着有劲;二是有人带着,手把手的演示,比自己看书摸索快多了;三是边学边用,掌握的扎实。
  2. Bug明显减少、代码质量提高。
    第一阶段(我一个人完成的):24个Bug;第二阶段(四人结对):12个Bug。考虑到我已经写了三年多的程序,而他们四个都才开始学不到一年(有一个还不到一个月),这个Bug率应该是非常让人满意的。另外在代码格式上,更工整和统一,毕竟是两个人写出来的。
  3. 团队凝聚力增强
    这就是个感觉,成员之间亲近了不少。

再说说遇到的问题。

主要出在两个人之间的配合上,有的时候会有依赖心理,特别是两个人水平有差距、或者其中一个人对今天的工作不太了解的时候。还有的时候不适合结对,比如对一个新的技术点进行尝试和攻关的时候。

关于变更结对伙伴。

我们开始的时候实行每半天一换,后来发现思路切换的太过频繁,延长到一天一换。不过仍然发现思路中断是很难受的事情。所以现在不以时间为单位了,改成一个任务一换。

我们现在使用的结对方式。

  1. 结对以任务为单位,完成一个任务后变更结对伙伴。
  2. 结对前,每个人对要进行的任务独立思考,形成一个解决方案。
  3. 结对时,两人拿出各自的方案进行讨论,达成一致后,编写代码。
  4. 结对时,水平较低的应该主动积极,水平较高的应该以沟通和指导为主。
  5. 任务完成后,应及时总结,特别是对任务涉及系统模块进一步了解。
本文转自冬冬博客园博客,原文链接:http://www.cnblogs.com/yuandong/archive/2008/06/25/Pair_Programming_Practice.html ,如需转载请自行联系原作者
相关文章
|
敏捷开发 监控 数据可视化
从一个小角度观察敏捷实践
从一个小角度观察敏捷实践
79 0
从一个小角度观察敏捷实践
|
供应链 监控 架构师
软件测试工程师 路在何方?如何发展?职业规划是怎样的?
软件测试工程师 路在何方?如何发展?职业规划是怎样的?
162 2
软件测试工程师 路在何方?如何发展?职业规划是怎样的?
|
存储 架构师 程序员
为了成为一名架构师必须稳扎稳打,软件架构设计知行合一很重要
最近在看程序员向架构师转型这本书,同时也做了思维导图的笔记,确实也是有一些收获,在为做好一个架构师而做准备,通过学习架构设计的原则到设计架构的过程来对架构师的工作有更大而全的认识。
|
敏捷开发 程序员 API
最怕程序员学会了隐身术!创业者最应该看的软件开发风险管理
  看到这个标题,我想应该不少人都有苦涩的回忆,我这几年的创业经验中,也碰过几次程序员人间蒸发导致技术开发难以接手的案例,也听说过类似的烂摊子也的确不少,我都有遇过,通常创业者本身不懂技术或是对技术一知半解的状况,就更容易被程序员唬得一愣一愣的。别以为这种事只有遇到外包才会发生,我也看过技术合伙人学会隐身术后就人间蒸发的惨痛案例。   因此,经过去年一年在程序员客栈工作,我都建议每个非技术背景的朋友,可以至少知道一些基础,这样当程序员发生问题的时候,就不致于发生不知道代码、资料库不知在何处的窘境。为了把风险降到最低,以下来谈谈创业者在与程序员合作时需要注意的几个重点。
756 0
团队建设三境界
一、乌合之众,强权政治(新手)   很多新手都会经历这样的过程,新组建的团队冲突不断,大家对当各种制度措施,报以反感。为保证执行力和项目成功,项目经理会选择强权压制,尤其是技术比较好的项目经理。
929 0
|
运维 测试技术 持续交付