Pair Programming, 结对编程是敏捷开发中一个重要的实践,并受到很多业界大师级人物的推崇。但是明知它对我们可能会很有帮助,但是如果推广、实践起来还是要突破各种束缚的,心理上的、流程规范上的等等。我想也许这也或多或少也和公司或者部门的开发文化有些关系。我很想去尝试,但是一直没有找到一个很好的机会,也没有找到"心仪"的Partner。

今天上午恰好要完成一个脚本的编写,这是一个升级产品时使用的自动升级脚本,基础接口在上个月组内的一个同事已经完成了,并经过了大家的评审,认为可行。今天我就是要利用他的这个基础shell函数库来完成我的自动升级脚本的整理。

时间久了,那点关于这个脚本的模糊记忆早已经不存在了,很多细节我需要向我的那位同事请教。本打算找间会议室,坐在一起讨论的,后来发现会议室也被人占领了。上午的计划就是完成这个脚本,计划既然定下来了,就得执行,提高执行力一直是我这阶段的目标之一。就这样,我把这位同事叫到跟前,我们找了一块还算空旷和僻静的办公区坐了下来。我把我的想法向他做了陈述,告诉他我们一起完成这个脚本的初稿。我来掌控笔记本。按照以前我们升级的步骤,我们一步一步来实现脚本的功能,中间有自己不能确认的问题,就将键盘交予他来确认;他的基础脚本当初没有经过详尽的系统测试,也是碰巧,我们在一起写代码的时候居然又发现了原有代码中两个不妥的地方。

Pair的确是会调动人的热情和积极性的。但前提是有一个良好的、适合二人的工作空间;我自己觉得转角的办公桌是不太适合Pair的,两个人坐在转角旁,估计一会就累了-手脚无法伸展。掌控键盘的一方要多与另一方沟通,保持另一方的精神一直集中在你们的工作上,人和人在一起还是很容易溜号儿的。

经过半个多小时的编写,初稿搞定;回想一下,如果我选择的是自己闷头写脚本,然后再让那位同事评审,势必牵扯出不少额外工作量的;而结对的这种方法的确帮我解决了这样的一个问题。

事后反思,觉得的确应该把这一活动看成是一种Pair Programming。虽然现在我对Pair的认识和实践还处于肤浅之状态,但我想万事万物都无定式,最适合的才是最好的,摸索出适合我们组开发的PP模式才是最重要的,还需要实践、积累以及让更多的人参与其中。

© 2008, bigwhite. 版权所有.

Related posts:

  1. CruiseControl.rb初体验
  2. C++咬文嚼字-'0 or NULL'
  3. 算法的回归
  4. C++咬文嚼字-'Hijack const'
  5. C++咬文嚼字-'Functions'