探讨和使用Mob编程的人不是很多。尽管这样,他们的经验大部分都很有参考价值,因为他们对编程和团队都有不同的见解。
Llewellyn Falco 在 第一届Mob编程大会 上展示了一个有关Mob编程的keynote,叫做《理解Mobbing的科学之处》。Mob编程大会在2016年5月1日-2日在马萨诸塞州坎布里奇举行。InfoQ通过Q&A和文章对其进行了跟踪报道。
根据Llewellyn所说,Mob编程不是一项科学,而且计算机科学也几乎不算是一项科学。尽管如此,至于一个团队如何开发软件,在此有一些常用的实践方法:
其中的科学又在哪呢?Llewellyn将它与系统理论联系在了一起:一个团队就是一个系统。而且它是一个很复杂的系统。人们很难将其中的一部分独立出来,或引用Dan North的一句话就是“一只手击掌会是什么声音?”。
在系统中开始任何东西就像是点燃一团营火。团队中如果全都是独立编程的程序员,即使是最好的程序员,当一个人落后了,他或她(大部分时候)都是独自解决问题,然后还是陷在问题中。为了产生新的想法,一个人需要让想法发散出去,越发散越好。而这正是mobbing所做的:让许多人试图一起增强一个已有的思想火花。使用Llewellyn所做的另一个比喻,这就是豪斯医生的剧集里(或硅谷第一季最后一集里)正好相反的事情:一个人有一个顿悟,或者引发了一个想法,然后团队的其他人有助于使它成为一个更好的想法。这种影响就像记忆和群体记忆的关系。群体记忆一般都比一个人的头脑更好,mob编程则可以驱动多人记忆。这和解决问题是一样的:你有一个鼓励Takeuchi和Nonaka称之为“多元化”的系统状态。而且一旦事情越来越糟时多元化就十分有用。
Llewellyn提出了下面一个显然很简单的问题:
你如何构建一个团队?
在他的回答里,有两个先决条件:
所以这个简单的问题的完整答案是:
作为一个团队一起工作。你和什么样的人待的时间最久,你也会变成这样的人。
现在我们回到人文主义:如果一个团队的样子不仅仅取决于团队成员是什么样的人,并且作为成员的我们会影响到我们周围的人,那我们必须很友好、体贴和尊敬他人。这才能让以身作则的精益原则生效。
Llewellyn最后与大家分享的一点是技术负债和技术资产的区别。只考虑负债而遗忘资产是不公平的(在你寻求降低成本而不是创造价值时很容易这样)。
很难阻止10倍开发者的神话的流传。但是10倍开发者看起来是什么样的呢?根据一些基于数学的例子,我没能理解很多,但是Llewellyn的结论是通常10倍看起来并不像你期望的那样。它和看问题的角度有关,并且10倍的速度可能看起来很慢但是可以非常有效。
为了将这一点更加具体,他介绍了两个陌生概念的差别:
从这点来说,并且回到执行的角度,没有人可以说引进一个人1%的学习时间后是什么样的。另外一个方面,如果你在一个大公司(或古老的公司)工作,你有机会来理解十年不学习会变成什么样!
为了对mob编程进行总结,主要的关注点在于文化:为了获得改变,它应该是开放的并且是一个邀请。这真的是对他的演讲作为一个 纹心结构 的总结:你们应该作为一个团队去参加大会,并带着开放和邀请的文化。否则当你带着新概念回来时,你的团队无法与你保持同步(还会在大部分时间推开你)。
查看英文原文: Understanding the Science of Mobbing
感谢夏雪对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们。