每天进行暴民编程

定义和规则

首先,如果您以前不熟悉该术语,这是一个进行定义学习的好机会。

Mob编程是一种软件开发方法,整个团队可以在同一时间,同一空间,同一台计算机上工作。 —维基百科

顾名思义,它涉及许多人参与编码。 但是实际上只有一个人而不是每个人都可以一次键入。 此人的角色称为“驾驶员”,其余成员称为“导航员”。

但是,如果驾驶员是唯一坐在键盘上的驾驶员,那么导航员会做什么? 好吧,当驾驶员进行编码时,导航员负责其他工作,只要它与任务相关,例如问题解决,研究,语法/打字错误更正…您便可以命名。

另外,有一些适用于此方法的规则如下:

  • 在团队定义的一段时间(例如15分钟)后,每个导航员都会与驾驶员切换角色。
  • 驾驶员应始终解释自己将要做什么以及如何做。
  • 导航员必须积极参与每次讨论,提出自己的想法/意见,分享实施方面的良好实践或对团队有用的知识。
  • 驱动程序不应具有保护性。
  • 导航员不应该责备。

图片来源:Underthehood.com

利弊

这是此技术的一些重要优点:

  • 解决问题:这是一个非常典型的用例。 当您一起工作时,可以更快,更轻松地解决问题。
  • 重点改善:显然,当其他人工作时,您不能出于个人目的浏览Facebook或互联网。
  • 代码质量提高:由于许多人同时检查一个人的代码,因此较早发现了错误或潜在问题。 最佳实践也被尽可能多地应用。
  • 没有孤岛:这意味着团队中的每个人都了解事物的运作方式,因此它并不依赖于一个人。 当一个人请假时,其他人可以应付自如。
  • 知识转移:这是Mob编程的非常重要的优势。 每个参与者的所有技能,知识,技巧和技巧都在团队之间共享。 您有很大的机会向其他人学习。
  • 玩得开心:这是人们可以工作的地方,同时可以一起分享他们的时刻。 参加这样的活动真是令人兴奋。

但是每件好事都有一些缺点:

  • 这种方法比单独工作需要更多的劳动力。
  • 如果执行重复或简单的任务,效率很低。

什么时候申请?

基于其优缺点,我们得出了何时打开Mob编程模式的结论:

  • 实施大型任务:复杂的任务通常需要更高级的知识和技能。 一个人可能在一个领域但不是全部都拥有优势。 通过进行Mob编程,每个成员都可以利用自己独特的技能和知识来完善其他成员。 因此,更有可能以最少的技术债务更快地完成任务。
  • 培训,知识转移:暴民编程为团队之间的共享和学习提供了理想的环境。 人们乐于提出问题,并积极分享自己的知识和经验。