在敏捷开发中的“配对编程”要求我们将单个程序员的工资翻倍。当然,这种方法可以大大提高代码质量、更早地发现错误等等,但这样花费的钱是否仍然值得呢?也许我们应该将第二位开发人员的薪水支付给几名测试人员(后者通常比合格的程序员便宜得多)?有没有人有这样的比较经验呢?
在敏捷开发中的“配对编程”要求我们将单个程序员的工资翻倍。当然,这种方法可以大大提高代码质量、更早地发现错误等等,但这样花费的钱是否仍然值得呢?也许我们应该将第二位开发人员的薪水支付给几名测试人员(后者通常比合格的程序员便宜得多)?有没有人有这样的比较经验呢?
当我在朋友的船上编程时,我们并不总是有时间,因为其中一个人正在驾驶船只,而另一个人则在编码。然而,当我们停泊或在平静的水域时,我们可以进行配对编程,这样也很有效。
前提是你的生产力将翻倍以上。其中一部分增益会立即实现(例如,在代码提交之前),另一部分则在之后实现,因为会出现更少的错误和故障。
当我教授有两个学期经验的学生时,对于大多数团队,因为他们互相提问、学习和完成得更快,他们的生产力都翻了倍以上。但并非普遍适用;一个配对不当的团队可能需要更长时间,并且做得比半数技能更高的人还要差。
不行啊!我工作的公司经常进行双人编程!这样可以快速且高效地完成任务!你可以试试看,以后你会珍视它的!
这取决于开发人员。不幸的是,您不能只是把两个开发人员放在一起,然后期望及时、高质量的结果。并不是每个人都适合配对编程,甚至适合在敏捷开发环境下工作。我认为配对编程有两个值得注意的地方:(1)开发人员之间的交叉培训;和(2)实时同行评审。交叉培训将有助于加强团队整体技能,并且实时同行评审可以消除形式化同行评审的需要。多年来,我从我的同行身上学到的东西比我在技术培训中学到的还要多。
编程中的概念并不是非黑即白,也不是什么万能的解决方案,这就是“配对编程”。
从各种角度来看,“配对编程”通常都非常高效,但如果做得不好,它也会非常耗费精力(至少在我看来是这样)——这意味着一个好的配对可能每天只进行几个小时的编程。当然,这应该被鼓励,但不应该成为强制性的,特别是不应该占用100%的时间,因为这似乎很难管理(无论是否有啤酒)。
因此,“配对编程”只是解决问题的一种方式,我发现很难从问题的角度来看待它。这并不像你需要雇用两倍的开发人员来完成这项工作。这就像想知道是否值得雇用信使男孩/女孩让同一部门的两名员工互相交流...而明显的解决方案是让他们直接互相交流,而不需要额外的信使。
除非你是一个非常小的商店,否则你可能已经支付了两个程序员的薪水。配对编程只是一种理论上可以在同样的时间内获得更多调试和工作软件的方法。