代码质量是进行结对编程最重要的原因

布伦特里有一个固执己见的软件开发方法。我们尤其感到强烈的一件事是结对编程。

通常在讨论结对编程时,人们通常关注结对代码质量和开发人员生产力的影响。这种观点认为:一对成本是单一开发商的两倍,但是如果他们在X%的时间内交付代码,减少Y%的错误和减少Z%的技术债务,那么根据您对X,Y和Z的测量结对可能有意义。

虽然这个观点没有错,但它忽略了最重要的原因–为什么我们要结对:它有助于建立起一个强大的企业文化,对于新的开发人员来说它提供了最好的方法来加快开发速度,还提供了一种在整个开发团队中分享知识的好方法。无论在任何情况下,实行结对编程使得企业更容易做出具有稍高的短期成本的选择,但这从长远来看是一个巨大的利益。

结对合作成为企业文化的核心

结对是一种强烈的社交体验。在每天的工作时间内你与另一个开发人员密切合作。这就意味着,如果你与你相结对的的人无法建立起有效沟通,那么你的问题并不能得到有效解决,如果相结对的人不能愉快与你合作,那么你就悲剧了,你不得不花费大量的时间来解决问题。这就是为什么布伦特里的面试过程将沟通技巧和文化适应与技术能力平等的一部分:我们不想招聘不想与我们结对的人!

招聘流程是公司文化的基石没有好的员工就不可能创造一个充满活力良好合作的环境。在招聘员工的的时候,通过着重强调文化素养和沟通技巧,可早早表达合作的重要性。在工作中还有一定程度的自我选择:如果开发人员不想在一个结对的地方工作,那么他们可能不适应布伦特里这样的企业文化氛围。

当然,短期成本也与此有关。如果我们决定不聘请一个在技术上很好但不能在工作上合作的人,那么我们基本上放弃了短期生产力提升来保护长期的公司文化。

结对加速新开发者速度

当与某人配对时,您不只是观察他们编写代码。您将看到您的对对方如何处理整个开发工作流程:确定在哪里进行更改,编写测试,阅读源代码,查找文档,配置开发环境等。你会看到他们使用了哪些工具,以及它们的有效性。

初级开发人员看到高级人员如何做到这一切都是受益匪浅的。更重要的是,当轮到他们时,他们也可以从他们的资深对获得持续的反馈。我亲自体验过 – 当我加入Braintree,我有大约一年的专业发展经验,并没有在大学学习太多的计算机科学。在这里三个月后,我的工作流程已经完全转变。

从长远来看,高级开发人员也从中受益匪浅:这是一个陈词滥调,但是教授一个主题真的会提高你对自己的理解。也就是说,与更多高级开发人员配对的初级开发人员也具有相关的短期成本和长期利益。一对高级开发人员可以比初级开发人员和高级开发人员更快,特别是高级开发人员知道的代码库。然而,能够使新员工能够快速积累的好处。

将知识转移配对在开发工作流程的中心

开发人员除了基本的编程能力外,还需要大量信息才能有效运行。有域知识,代码库知识,公司惯例意识,检查的最佳实践等。值得认真考虑的任何发展方法都需要有一个很好的方式来分散整个团队的这种知识。

当配对时,分享这种事情当然是一个问题。提出问题永远不会中断 – 与您的对持续沟通是您正常工作流程的一部分。

除此之外,开发人员在配对时可以互相开发数百种开发技巧:命令行快捷方式,vim技巧,组合vim和tmux的方法以及其他一些其他功能。

配对长途

Braintree大力强调我们发展风格的长期思维。我们的TDD,重点在于可维护性和易读性,并尽可能地尝试缓慢而彻底地移动代码。配对是其中的一部分; 配对提供了一种每天在我们的开发团队中进行小额投资的方法。我们的工作方式部分是因为我们编写支付处理软件,为我们的客户提供关键任务服务。但是我们也是这样做的,因为我们认为,从长远来看,这些做法有很大的回报。

如果这些做法与您产生共鸣,请联系。我们一直在寻找对我们团队的巨大补充。

原文链接:点击打开链接

来源:你就是我心中的棉花糖

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年3月21日
下一篇 2018年3月21日

相关推荐