定义和规则
首先,如果您以前不熟悉该术语,这是一个进行定义学习的好机会。
Mob编程是一种软件开发方法,整个团队可以在同一时间,同一空间,同一台计算机上工作。 —维基百科
顾名思义,它涉及许多人参与编码。 但是实际上只有一个人而不是每个人都可以一次键入。 此人的角色称为“驾驶员”,其余成员称为“导航员”。
但是,如果驾驶员是唯一坐在键盘上的驾驶员,那么导航员会做什么? 好吧,当驾驶员进行编码时,导航员负责其他工作,只要它与任务相关,例如问题解决,研究,语法/打字错误更正…您便可以命名。
另外,有一些适用于此方法的规则如下:
- 在团队定义的一段时间(例如15分钟)后,每个导航员都会与驾驶员切换角色。
- 驾驶员应始终解释自己将要做什么以及如何做。
- 导航员必须积极参与每次讨论,提出自己的想法/意见,分享实施方面的良好实践或对团队有用的知识。
- 驱动程序不应具有保护性。
- 导航员不应该责备。

利弊
这是此技术的一些重要优点:
- 解决问题:这是一个非常典型的用例。 当您一起工作时,可以更快,更轻松地解决问题。
- 重点改善:显然,当其他人工作时,您不能出于个人目的浏览Facebook或互联网。
- 代码质量提高:由于许多人同时检查一个人的代码,因此较早发现了错误或潜在问题。 最佳实践也被尽可能多地应用。
- 没有孤岛:这意味着团队中的每个人都了解事物的运作方式,因此它并不依赖于一个人。 当一个人请假时,其他人可以应付自如。
- 知识转移:这是Mob编程的非常重要的优势。 每个参与者的所有技能,知识,技巧和技巧都在团队之间共享。 您有很大的机会向其他人学习。
- 玩得开心:这是人们可以工作的地方,同时可以一起分享他们的时刻。 参加这样的活动真是令人兴奋。
但是每件好事都有一些缺点:
- 这种方法比单独工作需要更多的劳动力。
- 如果执行重复或简单的任务,效率很低。
什么时候申请?
基于其优缺点,我们得出了何时打开Mob编程模式的结论:
- 实施大型任务:复杂的任务通常需要更高级的知识和技能。 一个人可能在一个领域但不是全部都拥有优势。 通过进行Mob编程,每个成员都可以利用自己独特的技能和知识来完善其他成员。 因此,更有可能以最少的技术债务更快地完成任务。
- 培训,知识转移:暴民编程为团队之间的共享和学习提供了理想的环境。 人们乐于提出问题,并积极分享自己的知识和经验。