《敏捷无敌》

下载本书

添加书签

敏捷无敌- 第24部分


按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
其实他在和Charles讲完借调章浩后,曾经独自找章浩谈过近3个小时。
  “哈哈,我说昨天中午在食堂跟章浩一起吃完饭往台球室走,中途遇见周小小,周小小连看都不看我跟章浩一眼,原来是因为这个啊。呵呵,太好了,下周章浩过来刚好可以赶上咱们的下一个 Sprint!”大民兴奋地讲着。

第11章 你开车,我导航(6)
“嗯,是啊。虽然章浩非常有经验,可能他也需要对咱们正在用敏捷方式做的TD项目熟悉一段时间。咱们最好想个办法,让章浩迅速融合到咱们的开发进程中。大民,你还记得上次你提到的结对编程吗?如果项目组有新人加入,或者由于某种原因进行换岗,你提到可以通过结对的方式来提高整个团队的开发效率。今天再给我们大家讲讲吧。”阿捷看着大民。
  大民高兴地说:“好啊,阿捷!我老早就想说这个了,只不过咱们组一直都没有进过新人。说到结对,通常咱们大家都会立即想到编程结对,其实在XP中,这个概念可以是更广泛一些的,还可以是设计结对、评审结对、单元测试结对!”
  “设计结对是在对某个模块开始编码之前,两人共同完成该模块的设计,这种设计通常不会花费很长时间,不会产生设计文档,更多的是讨论交流,主要考虑是否符合总体架构,是否足够灵活,易于重构等。”
  “单元测试结对通常是说一个人编写测试代码,另外一个人编写代码来满足测试。这样,任何一个人对设计理解有误,代码都不会通过单元测试,从而可以避免由同一个人编写单元测试代码和程序代码带来的黑洞,往往可以发现更多的问题或缺陷。”
  “听起来是把一个人的TDD; 变成了两个人的TDD!”阿捷总结。
  “对!这样效果会很不错!复审结对是在编码活动完成、通过单元测试后进行的。一般采用一个人讲代码组织和编程思路,一个人倾听、提问的形式。这种复审模式更多地强调了相互交流,这会比一个人单独评审,然后总结评审意见发给原作者的模式效率要高得多,文档、邮件也减少了。当然有人说,这么做就会没有文档化的评审记录。可谁会关心这个呢?良好的代码应该说明了一切。”
  小宝一直听得很仔细,插了一句:“其实,如果两人编程结对了,编程的过程其实也就是复审的过程,完全可以省略评审。”
  “对!”大民非常赞同小宝的观点,“设计结对、评审结对、单元测试结对这三种方式是对结对编程实践的有效补充,操作简单,受益却很大。而对真正意义上的编程结对,我其实并不怎么看好!”
  “啊?为什么?”大家都对大民抛出的这个结论很震惊!
  “编程结对,在任一时刻都只是一个程序员在编程,效率到底有多高呢?1+1》1是肯定了,但是否1+1》2呢?”大民留了一点时间给大家思考。
  “现在还没有肯定的答案!国外也有很多关于编程结对的研究,基本都是建立在结对的两人组和一个人之间的对比,结论基本上是编程结对不能始终保证开发质量和效率始终高于单人编程。如果是结对的两人组和两个单人开发组进行对比,结果更是未必。所以,我目前也不认为结对一定能始终提高效率。”
  “但是,我觉得,他应该能够在某一个阶段,或者说项目进行的某一个阶段内提高效率提高质量。”小宝满怀疑问地说。
  “这也是对的!所以我前面也提到了‘始终’这个词!这是因为只有两个经验相等的人结对才有可能真正提高编码效率。而现实中,经常是一个有经验的人坐在旁边,另一个经验不太丰富的人进行编程,还会有一个老手轮询多个新手进行开发的方式,在国内公司尤其普遍。因为大多数耗费时间的编程部分是靠输入来完成的,这样就更难做到1+1》2。”

第11章 你开车,我导航(7)
“通常支持结对编程的人认为,当两个人合作三个月以后,效率才有可能超过两个人单独编程的效率!这里有一个时间前提——三个月以后。三个月这个时间未必是真实确凿的时间分界线,它只是一个模糊的、大概的时间范畴,如果两个人配合得好,也许只需要两个多月,如果配合不好,也许需要四五个月或者更长的时间,不确定性很大。”

  “许多时候,如果仅仅只是想减少defects的数量,我认为还是设计结对、评审结对、单元测试结对这三种方式更为有效一些。此外,结对编程始终是两个人的合作行为,其效果会受到多种因素影响。譬如,两个人的性格、个人关系、沟通能力、技术是否互补等都会影响最终的结果。究竟1+1大于2还是小于2真的是一个很难说的事情。只能靠团队自己不断地组合,找出合适的配对个人。”

  大家纷纷点头,觉得大民说得很有道理!

  “那我们就不实践编程结对了?”阿捷问道。

  “其实不仅仅编程结对,其他结对实践,也要视人、视项目、视环境而定。至少两个极端情形下; 结对毫无益处:1。需要静心思考的问题。这时完全可以分头行动,等各自有了理解或解决方案再来讨论。言语在思考的过程中也会帮忙,但有时候,言语只会打扰思路。 2。琐碎毫无技术含量的工作,不得不手工完成的。这种工作考验的只是耐心,不妨分头行动,效率肯定比结对要高。”

  “在有些时候还是可以采用的,也是有好处的,特别是对于新加入一个团队的成员而言,可以让他迅速成长,融入团队!因为结对编程的内涵是一种技术、经验、知识的共享。通过共同商讨、解决问题,来提高沟通、交流,来降低误解和疏远。但即使是这样的结对,一天中最好也不要超过4小时。”

  “嗯,看来我们至少很有必要让你跟章浩来一次结对编程!一次Agile老员工的强强联手!哈哈,你跟章浩两个进入Agile的时间加一起都超过10年了吧?呵呵,正邪双修啊。”阿捷很少有这么高兴的时候来取笑大民。

  “少来这一套,你这家伙,呵呵,小心下回我修理你。”

  在一片欢笑声中,大家结束了本次关于XP的讨论。同时也到了下班时间,大家纷纷道别,走出办公室。阿捷并没有马上走,而是独自走回座位,写下了今天的敏捷日记,毕竟今天的讨论太精彩了。

  又到了月底的周五下午,是全部门的Monthly Update会议时间。这个会议是Charles在电信事业部组建完成后,一手发起并组织的,在每个月的最后一个周五下午举行。整个部门的员工,都对这个Monthly Update会议颇有好感。每到了这个时候,大家都会像去参加嘉年华一样,热情高涨。因为在这个会议上,不仅仅可以分享到其他Project Team正在做什么项目、最新进展如何,还可以了解到部门最新的财务状况、订单状况,特别是所有人都很关心的China Business。Charles每次都会有一次Update。不管消息好坏,Charles都会毫无保留地分享给大家,都能让大家真正地感觉到自己是公司的一员、部门的一员,因为每一个人都很注重这种被珍视的感觉。通过这个Monthly Update,来自Charles的官方消息每次都会击败所谓的小道消息,从而有效地杜绝了流言的散布。

  在今天的会议上,Charles跟以前一样,按部就班地为全部门Update了一遍最新消息,其中Agile OSS可能攻打*TD大单的消息,更是让所有人兴奋了半天。Charles待大家平静下来后,正式宣布章浩将暂时从周小小那里转到阿捷所在的TD团队,帮助攻克TD-SCDMA项目。在介绍完两位新加盟的员工后,Charles最后非常郑重地强调了一下“正确使用公司Internet”的问题。因为最近一段时间以来,公司对外的Internet线路变得奇慢无比,直接影响了整个研发部门的正常运行。IT部门对上个月的Internet使用情况做了一次监测分析后,得出的结论非常令人震惊。60%的Internet流量跟公司业务毫不相干,除了有人下载MP3、电影以外,竟然还有人访问黄色网站,其中有8个人的总共月流量是17GB,居然占到了全部1000多人总流量的15%左右!Charles再三强调,请大家不要拿自己的前途开玩笑,不要违反公司的SBC(标准商业行为准则,Standard Business Conduct)。因为公司以后一旦发现,将严惩不贷。会后,大家纷纷猜测究竟是哪8个人这么强,敢用公司的网络做这种事情。

  会后,周小小叫住章浩,让他直接到自己的座位,做一下项目交接。章浩还是比较诧异的,没想到周小小这次这么主动,不过想到自己毕竟是周小小组的Technical Leader,平时负责的事情很多,这一走对他肯定影响很大,也就觉得顺理成章了。当周小小将电脑从锁定状态切换回来,正准备打开一个Excel,突然从屏幕的右下角,蹦出来电驴的图标,紧接着是一个信息窗口,“xxx小电影下载完成!”。

  周小小迅速地关掉这个信息窗口,装作若无其事地说:“我现在突然想起来还有点事,我下周一再找你吧!”

  突然蹦出来的电驴图标将章浩惊得目瞪口呆,愣是半天没反应过来。看到章浩没有反应,周小小转过头来:“章浩!我下周一再找你,你先回去吧!”

  “哦!好的!”章浩这才反应过来,转身朝自己的座位走去。一边走一边想,真郁闷,这种事情怎么让自己看到了,估计以后自己该有麻烦了!更多请访问('EXC')书包 网 。 想看书来


小提示:按 回车 [Enter] 键 返回书目,按 ← 键 返回上一页, 按 → 键 进入下一页。 赞一下 添加书签加入书架