85. 两个头脑往往比一个更好



两个头脑往往比一个更好

        编程需要深思,深思又需要独处。于是就有了程序员的呆板形象。
        这种“独狼”的方法要让位于更合作性的方法了,后者我更会说它改进了质量、产出和程序员的工作满意度。这种方法让程序员们彼此之间更加近距离地合作,甚至是同非开发人员——业务和系统分析师、质量保证专业人员以及用户。
        这对程序员来说意味着什么呢?作为专业技术的专家已经不再高效了,你必需在与其他人一起工作中更加有效率。
        合作不是关于提问和回答问题或者参考会议之类的事情,而是关于卷起袖子积极参与到他人的工作之中。
        我是结队编程的大粉丝。你可以称之为“极限合作”。作为一名开发人员,我的技艺在结队中增长。如果我在业务或者技术方面比我的结队伙伴水平低,很明显我能学到他的经验。如果我在某些方面更强,我通过解释自己的观念可以学到更多自己知道的和不知道的东西。我们一直会展现出一些东西并互相学习。
        结队时,我们都带来了已有的编程经验,不管是业务上的还是技术上的,来解决手头上的问题,也带来了不同的观点和经验,让编写软件更加有效和高效。就算是在业务或者技术知识极端不平衡的例子中,更有经验的那位也一直在从另一位学到东西,可能是一个新键盘快捷操作,或者是一个新的工具或者库。对于经验较少的那一位,这可是一个快速提高的好方法。
结队编程受到不只是敏捷开发的支持者的拥护。有些反对结队编程的人称:“为什么 我要为同一份工作支付两位程序员的报酬?”我的回答是,你确实不必要,但结队编程增加了质量,增加了技术、技艺(如IDE技艺),并降低了彩票风险的影响(你的一位专家员工中了彩票并在第二天离职了)。
        学习到一个新的快捷键有什么长远的价值呢?我们如何衡量产品从结队编程得到的产品上的总体质量改进?我们如何衡量你的结伴队友不让你使用最终日期的方法来解决一个困难的问题所产生的影响?引用一项研究,在效率和速度上有40%的增长(J T Nosek,"The Case for Collaborative Programming",Communications of the ACM, March 1998)。减轻“彩票风险”的影响的价值是什么?大多数的收益都难以衡量。
        谁应该和谁结伴?如果你是团队中的新人,找到团队中一位有着丰富知识的同伴是非常重要的,同样找到一位善于人际关系和教导的人也很重要。如果你在相关领域的经验不足,那么就找一位该领域的专家吧。
        如果你还不信服,那么就试验一下吧:与同事合作。在一个有趣的好问题上结对编程,看看感觉如何,试几次吧。

原文:Two Heads Are Often Better than One by Adrian Wible

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值