但是出于正确的原因,必须以正确的方式应用它
一年前,我写了关于Pair Programming的文章 。 我描述了如何找到最佳的上下文来应用它 , 它在实践中的外观以及如何不正确地进行操作 。
注意: 当所有参与者都使用同一台计算机位于同一房间时,本文假定使用Mob编程。 这并不意味着它不能在其他情况下 工作 ,例如 Philippe Bourgau 在 此有用的评论中 指出的那样, 例如在 远程 使用Open-Source时 。
每当我谈论Mob编程时, Woody Zuil都会浮现在脑海。 对于那些不了解的人,伍迪是《 Mob编程-整个团队方法 》的作者。 我很幸运在YOW 2016之后见到他,当时他受到了Pragma Team的Guilherme J. Tramontina的邀请向我们演讲 :
暴民编程是优秀的,但并不是每个团队都适用。 每个参与者至少都需要配对编程的相同心态。 如果在正确的环境中并出于正确的原因正确完成操作,则可以使团队更快地前进。 但是,如果在错误的上下文中或由于错误的原因操作不当,可能会造成严重的负面后果。
以我的经验,有些事情会发生,这可能会使Mob编程无法尽可能有效地工作。 但是,请注意,此处要提到的所有内容都不是支配团队行为的借口。 如果人们感到被迫去做,Mob或Pair编程将无法正常工作。
Mob编程是整个团队(包括测试人员,产品所有者和设计师)在同一台计算机上同时完成一项任务的地方。
在暴民中,如果您发现某个点,您不再了解正在做什么的目的并保持安静,那么随着时间的流逝,缺乏了解只会增加。 如果有更多这样的成员留下来,那么Mob编程活动的效率就会降低。
每个人都需要了解正在做什么。 如果看起来有人在假设您没有您,请提出问题以重新获得背景。 只要“尽早完成”并且与正在处理的任务有关,就可以不费吹灰之力。
这就是为什么Mob编程不适用于所有团队的原因。 为了提高效率,您需要在团队全体成员面前提问。
如果看起来您失去了上下文,请尽早提出问题。
就像配对编程一样 ,有驱动程序和导航器。 驱动程序可以处理键盘,而导航器可以帮助驾驶员进行指导。 区别在于,只有一个驱动程序,其他人都是导航器。
团队开始进行Mob编程很常见,因为有人想向整个团队展示一些东西。 一个人担任驾驶员和导航员的角色。 其他所有人都在看着他们学习。 但是,这错过了让每个人都积极参与工作的意义。
看着别人做这项工作不是Mob编程。
如果您暂时退出会话并稍后再回来,则您将失去与此同时所做的事情的上下文。 团队解释一切的代价将比配对更为重要。 随着越来越多的人频繁离开会议以及外出之后经过的时间越来越多,成本增加。
当然,由于多种原因,人们不得不休息一下,例如喝咖啡或上厕所。 但是,您可以作为一个小组达成共识,即某人离开并返回后会自动成为驾驶员。 几分钟后,驾驶员可以了解该小组正在尝试实现的目标。
作为驱动程序重新加入暴民意味着破坏的成本为零,流量是恒定的。
最好重新加入Mob作为驱动程序。
每个人都必须时刻保持关注非常重要。 而且,如前一篇文章中所述 ,拥有键盘并进行工作(直接和有目的的经验)比看到别人做某事(语言和视觉符号)的知识保留率更高。
由于这些原因,连续共享键盘是有意义的。 验证焦点的一个好的模式是随机选择谁成为驱动程序。 这样,不太可能有人因为被召唤而显得措手不及而不会引起注意。
当然,也有例外。 同样,这取决于团队。
例如,如果团队专注于需要主动编码的任务,则产品负责人不必是驱动程序,但是如果团队朝着正确的方向前进, 则他们可以提供输入。 同样,工程师可以在设计师或产品负责人的指导下使用Photoshop。
由于团队中的每个成员都是多学科的,并且能够胜任其他人的工作,因此Mob编程的效率得以最大化。 但是,很难(即使不是不可能)在当今市场上找到像这样的团队成员。
为了提高效率,Mob编程需要每个人都经常触摸键盘。
暴民编程挑战一切。
它并不适合所有人。 每个团队成员都需要具有一些特定的行为属性,这类似于结对编程。
正确运行它并尽快发现它是否不起作用非常重要。 否则,可能会产生巨大的成本,并且由于过去的执行不力而对已经对此持负面看法的人造成确认偏见 。
Mob编程是一个非常强大的工具,可以提高团队的整体工作量并完全删除进行中的工作。
只要您设法避免一些常见的错误,它就可以使您和您的团队更加高效。
你准备好了吗?
谢谢阅读。 如果您有任何反馈意见,请通过Twitter , Facebook或Github与我联系。
From: https://hackernoon.com/how-mob-programming-will-make-you-more-effective-590a1b7e0418