Mob Programming的一次实践

Mob Programming的一次实践

sjmyuan 55 2023-02-02

Mob Programming(简称mobbing)结对编程 的威力加强版,它是整个团队使用一台电脑在同一个任务上工作。最近我们团队进行了一次实践,这里和大家分享一下效果和需要注意的点。

契机

我们团队需要搭建一个新的微服务,大家对进程内架构提了很多的意见,导致搭建架构的小伙伴举步维艰。这时我就想,既然大家有那么多好的想法,何不一起完成这个任务呢?这就有了我们团队的第一次Mob Programming。

形式

我们对Mob Programming的形式进行了一些调整,并没有使用一套物理设备,而是在一个会议室内使用各自的电脑工作在同一个代码库上,具体形式如下

  1. 预定一个足以容纳整个团队的会议室,需要有投影仪或电视。
  2. 每个团队成员只写10分钟代码,需要有专人计时。我们团队有6个人,所以每轮Mob Programming至少需要预定一个小时的会议。
  3. 如果需要连续多轮Mob Programming,每轮之间需要休息15分钟。
  4. 每个团队成员开始编码前下载最新代码,完成编码后提交修改,编码过程中共享屏幕。
  5. 放轻松,享受指点江山和无所适从的轮番轰炸。

效果

我们用四轮Mob Programming完成了进程内架构的搭建。这和我们的感觉有很大反差,明明10分钟内没写多少代码,效率怎么这么高?

所有团队成员都非常投入,一轮下来都在感叹竟然这么长时间没看手机。

非常容易发现团队成员之间的信息传递问题。经常出现我明明是说的是A,你理解的是B,而我们都觉得对方的理解和自己一样,欢快的达成了一致,可写出的代码却南辕北辙。

非常容易发现自己不知道的知识点。再完美的方案,写出来后都会被团队找出了很多漏洞。

需要注意的点

尊重他人

有理不在声高,要有理有据的讨论。当我们提高声音时,表明我们并没有足够的理由来说服对方。

学会控制情绪,在自己的意见没有被采纳时,多思考问题本身,少进行情绪发泄。

活跃气氛

大部分人在被很多人围观写代码时都会紧张,面对各种不同的意见都会无所适从。我们可以偶尔说说八卦,开开玩笑,尽量活跃气氛,让大家都放松下来。

写代码的时间不易过长

有人可能会觉得10分钟太短了,没写几行代码就该换人了,效率太低了。但从实际效果看,效率其实一点都不低。一个人写太长时间反而会让其他人的参与感降低,不利于信息传递。

讨论的时间不易过长

长时间的讨论不一定能得出好的方案,反而会让大家的思考迟钝,参与度降低。这里不妨将讨论时间也加入Mob Programming,每10分钟都要有代码提交,不论好坏。这样我们可以利用次优的实现来激发大家对最优方案的思考。