个人简介 Larry Maccherone是一位颇有成就的书籍作者,同时也是颇受好评的演讲者,常常在大型国际会议上讨论精益和敏捷。Larry 曾是 Rally Software 的分析与研究总监,不过他最近担任了 Tasktop 的数据科学家。他的专业领域是从数据中找到有趣的内在见解,从而帮助人们做出更好的决策。
Every day, Agile practitioners and thought leaders are defining and refining new and existing practices that bring Agile’s values and principles to our world of work, play and service. Agile2014 reinforces our understanding of proven methods and illuminates some of the exciting new innovations that represent the future of Agile.
1. 非常感谢您愿意接受 InfoQ 采访。首先,您能否做个简单的自我介绍?
很高兴能有这个机会,Katherine,也要感谢 InfoQ。我是 Larry Maccherone,现在是Rally Software 的分析与研究总监。不过能坐上那个职位,也是绕了个圈子,是在2009年的敏捷大会上。我当时的演讲讨论了“敏捷度量”,担心别人把我扔出去,因为当时敏捷社区反对使用度量,结果没有被丢出去。实际上,演讲结束之后,我得到三个工作机会,所以后来就去了 Rally。
2. 你对度量的兴趣从何而来?
我还是个大学生的时候,就开了自己的第一家公司,做到80个员工,年销售额2000万。后来人员减少到25个之后,我意识到:自己的直觉、自己对于真实情况的定性感觉,已经不足以判断什么是最佳决策。所以,我就开始使用定量方式补充我的定性感觉。最后,我爱上了这种做法。后来,我从第一家公司里做了一家衍生公司,这家公司的运作方式很像我们第一家公司的成长方式。
3. 真有意思!我们以前讨论过这个决策制定的想法,你对这个过程也一直感兴趣。那么,首先,简单说说哪里令你感兴趣吧。你具体关注的是哪些理念?
说说理念。那么,作为人类,我们构成和演化的方式,决定了我们制定决策的过程是面向匹配模式的,这对生存来说至关重要。因此,如果你要过马路,还得先分析车流的物理运动,考虑何时迈出第一步,当你想清楚该怎么做时:“咔嚓”,你肯定被车撞上,一命归西。所以,我们作为人类,几乎所有的决策制定过程,我们都会匹配某种模式,我们不会选择“最佳匹配”的模式,而是选择“首先匹配”。这么做的时候,我们可能只考虑到5%的信息,因为要吸收其余95%的信息需要的时间太长了。这就会导致认知偏见。认知偏见会导致我们频繁做出决策,寻找证据强化我们开始着手时已有的想法,因此很难有超然的见解。现在,好消息是:有了正确的工具、培训和理解,你可以在业务环境中克服这个问题。社会心理学家认为:我们的生活方式决定了几乎不可能克服认知偏见,但是商业环境中可以配备相应的机制,克服此类问题。
4. 你提到过一个例子,很悲催的例子,你能不能详细说下,这个过程如何产生效果。
好的。这个例子有点敏感,因为其中的错误决定导致人们失去了生命,我也不想让人觉得商业世界中的每个决定都事关生死,但对于某些人的具体情况来说,有可能事关生死。所以,做出正确的决策很重要。这个例子是挑战者号航天飞机,它在发生之后不久就爆炸了。不过,很多人不知道,在发射之前,有一组工程师给管理层做了一个展示,试图说服他们不要发射。在很大程度上,是工程师们使用的视觉方法和展示中的手段,导致他们无法得以说服管理层做出正确决定,虽然他们有数据证明他们的担心,但是他们展示的方式完全错误,不够有说服力。
所以,正确决策的另一方面,特别是有数据支撑的正确决策,就是你的故事讲述方式和展示方式。因此,我有一种病理学式的方法,称为“什么?——那又如何?——现在怎样?”这实际上来自我的一个雇员——Sean Melody。他常使用这个方法,会这么说:“那就是‘什么?——那又如何?——现在怎样?’”我当时正在介绍如何进行有效的视觉可视化,他说:“噢,我知道那叫什么,”然后就提供了我这个方法。说回来,这个方法应用在挑战者号上,可以是这样:“什么?”,对应着O 型环在之前的发射中会随机出问题,他们也记录下这些情况。这些记录是按照时间顺序的,这也是他们的展示方式。实际上,在他们使用的可视化图表中,也展示了温度信息,那是他们希望管理层注意的关键元素。不是时间顺序的问题,是温度的问题。
因此,他们不应该按照时间顺序组织数据,而是应该按照温度组织,一旦这么做了,就很容易发现:随着天气逐渐变冷,O 型环出现问题的几率越大。他们也预测到:发射时的气温是31或者35华氏度,这在佛罗里达的卡纳维拉尔角是很罕见的,第二天发射时这么低的气温,让他们觉得,发射挑战者号很危险。因此,在那个情况下,对于“什么?”这个问题,应该用那些气温数据回答。对于“那又如何?”问题,他们没有有效传递的信息是:温度越低,出现问题几率越高。然后是“现在怎样?”,应该提到:对于现有的信息如何做什么,也就是应该做出何种决策?在那种情况下,如果你预测到有可能爆炸,当然只有一个显而易见的选择。但在商业环境中,没有这么明显。
5. 如果没有相关工具,而且是在一个小团队中,同时还想就制定正确决策弄一个流程出来,应该做哪些重要的事情?或者说,在这样的环境下,要想改善已有的决策过程,他们能做些什么?
嗯,我试图传递或是自己从中得到的体会,有两种方式。一种是我们Rally Software 构建的产品,我们会用“什么?——那又如何?——现在怎样?”来评估我们的产品。所以,举个例子,比如告诉你开发速度是20,这不太有用?那好吗?还是不好?你需要有东西作对比。因此“与什么对比”就是我们在“那又如何?”中提出的第一号问题。“与什么对比”,在这种情况下,可能是“上个月或者上周的情况如何?”也就是“趋势如何?”“与什么对比”也可以是“从工作效率角度看,与行业相比情况如何?”要是对比故事点数,这么比也许有问题,所以对于故事点数要特别注意。但行业中还是有其他东西可以对比。因此,“与什么对比”是理解度量体系意义的绝好方式。然后是“现在怎样?”这就是预测了。
所以我们会加入蒙特卡罗模拟和其他方法,让你可以进行“如果”分析,评估多种场景。因此,决策的质量要根据多种方案的定量结果驱动,而不是针对当前选择给出的理由。人们喜欢树立防卫,为自己的决策辩护。他们会说:“噢,我这么决定,因为x、y和z 等原因。”那在我就是一个耳朵进一个耳朵出。我已经训练自己要忽略这样的说法了。我想知道的,是你考虑过哪些备选方案,你又使用哪些预测手段,用来预测备选方案的结果如何。对于这些比较和预测结果的评估,才能引导你做出最佳决策。因此,一来,我们在不断演化产品的度量体系能力,从而将这个理念融入我们的产品中;二来,在这样的大会上介绍它,我们也有博客、白皮书等各种材料,还有很多教练会出去授课。我们刚刚启动了一个研讨会,讲这些东西,帮助人们使用数据做出更好的决策,特别是在软件工程的环境中。
如果没有相关工具,而且是在一个小团队中,同时还想就制定正确决策弄一个流程出来,应该做哪些重要的事情?或者说,在这样的环境下,要想改善已有的决策过程,他们能做些什么?
就像我之前提到的,你的决策质量,常常取决于你考虑了多少种方案。因此,应该安排一段时间,让大家可以放心提出各种不同方案。没有哪种方案是荒诞不经的。另外一件事情,也是关键的事情,这其中有细微的差别——理解你的价值在哪里,这特别重要。伟大的产品,常常来自于极端的价值。举个例子,最初的 iPhone 不支持多任务,每个人都认为智能手机必须支持多任务,否则必将失败。我们也都知道 iPhone 是多么成功。然而,他们珍视的产品中极端的东西,是电池寿命。他们也的确能做到让 iPhone 支持多任务,但是认为那会影响电池寿命,所以没有在产品中提供该特性。
他们有意将其从产品中去掉,因为根据他们的判断,他们更为重视电池寿命,这比多任务的价值重要得多。所以,真正理解你的价值,不要害怕拥有极端的价值。群体决策有一个问题,当你把人们拢在一起,要想说“不,这件事情比其他事情都重要得多,或者是比起其他事情微不足道”,这是很困难的,因此必须具备这种能力。
6. 如何判断你已经进入了那个区域,又该怎么在那个过程里推动你自己的极端价值?对于小型团队,你建议采取哪些技巧?
第一步是要认识到这个风险。第二步,当你在做评估时,不要使用线性表述。比如说电池寿命的重要性是10,多任务是8,这会让人觉得二者之间只有20%的区别,最好使用指数性表述。比如电池是10的10次方,多任务是10的8次方。
7. 你在推进这个过程的开始,说要“得到多种备选方案”,是从团队的角度,要大家提出各种想法,还是要得到各种数据?你会建议先采用哪种方式?还是组合使用?
嗯,我是数据至上的人,所以接下来要说的对我来说很困难,但是有时候,必须在没有数据的情况下开始。我以为,定量的见解应该补充定性的见解。要想发现多种方案,来自不同人的创意和意见是关键。然后,当你评估、预测不同方案的 产出时,出色的量化分析能力就要发挥作用了。
8. 对于已经得到的定性材料,要是展开定量分析的话,你会提出哪些标准?
使用定量分析确实有些风险。所以,最重要的一个条件,就是“不要造成伤害”,简单说如此。我有一些东西,可以称为“敏捷度量的七宗死罪”,其中主要内容会在今天上午的演讲中提到。究其本质,就是如何避免度量体系的邪恶影响。因此,如果使用定量分析,就有可能引入不好的习惯——人们会玩弄度量体系。你必须要避免度量体系的邪恶一面。这就是我提出来的最重要的一个条件:不要造成伤害。
第二个条件,就是让人们对数据有些了解。有时候做个“表哥、表妹”还是有必要的,总是胜过根本不碰数据。就算数据不完善,或者觉得数据不充足就不碰,这样不行。只要有数据,基本上就一定能从中得到一些收获,而且必须要习惯这么做。在我们的决策制定过程中,仅仅使用部分定性信息,我们都不会觉得有问题;但在定性分析中,我们只能接受近乎完美的模型,否则就天然地表示抗拒,这样做是不对的。即便不完美,你也要用它来推进,因为使用它们做出的决策质量,要远远超过不使用定量分析得到的决策。
9. 人们可能不一定那么极端,但如果数据度量得到的结果却是不多,并因此可能导致某些认知出现错误,人们的确可能犹豫,我想你也能看到这一点。那你能不能再多说一些,讲讲为什么你相信有一点数据总是好的?
我来讲个例子。这个例子实际上来自 Douglas Hubbard,他是《数据化决策》这本书的作者,所以这个例子是跟他借的。假如你的面前有个箱子,里面有一些绿色的球和红色的球,绿色球的比例可能是1%到100%。我问你:“箱子里的球是不是大部分是绿色?”如果没有更多信息,你大概有50%的几率说对。现在,如果我允许你从中拿出一个球,然后你看到它的颜色。假如是绿色,你可能会说:“大部分是绿色。”现在,你有了一些信息,回答正确的几率从50%涨到了75%。这里实际上使用了一点蒙特卡罗模拟。也就是9行 coffee script 脚本的代码量,在 JSfiddle 上可以找到。这个例子证明,你的确可以将正确几率从50%提升到75%。在商业世界中,如果你的决策正确率能达到75%,那比50%可强太多了。
10. 很有道理!所以,在你的度量体系七宗死罪中,你可能已经提过这一点了,但其中最关注的问题是什么?
第一宗罪,类似于良药苦口。写出《纳尼亚》的刘易斯(CS Lewis)曾经说过:勇气在本质上属于美德之本,因为到了面临考验的时刻,所有美德都取决于勇气。所以要好好想想。如果你要做到诚实,这是一种美德,对吧?嗯,当做到诚实很困难的时候,只有有勇气才能做到诚实。因此,第一宗罪,对我们来说与此类似。不是说要直接用度量体系驱动行为,而是应该作为某种“自我改进的反馈”。有必要的话,我可以举几个例子。这是一个运动手环,是“fitbit”品牌的运动手环,但任何品牌都可以。你戴过类似的东西吗?
Katherine:没有。
你的身材很好,所以用不着这东西。
Katherine:做瑜伽不需要手环。
我有个游泳圈需要搞定。所以,说回来,在迪斯尼这儿,我曾经到处走,有几天每天超过20000步,这很不错。但当我在家、不在迪斯尼的时候,我会把它绑在狗尾巴上。它可是个活力无限的家伙。那样我能得到很多计步数据,对吧?而且那样也的确能帮我减掉肚子上的肉,对吗?当然不是。你也笑了,也觉得这很荒谬吧。所以,以为戴上它就能得到度量数据,有助于改善我的体重,变得更好,指导我的决策制定。我是该坐在沙发上,还是应该起来走走?呃,我今天只走了10000步,最好起来走动下。把它绑在狗尾巴上,就足以击败购买、携带它的目的。但是在商业世界中,我们接受这样的做法。我们实际上容忍这样的做法,可这是完全不可接受的,所以这就是第一宗罪。当你达到这一点,你觉得度量体系比行为改善更重要,那你就犯下了第一宗罪。你大概就该重新开始了。
11. 如果需要有勇气面对数据和背后的意义,你觉得勇气是否应该有镇定一起配合?
是的,看来你选择问有关“勇气属于美德之本”中的“之本”的问题。我用了一个比喻,可以用在几个地方。没错,勇气的确是需要的,特别是回溯软件工程中度量的历史的时候。发生过很多事情,很多案例,其中的度量体系都起到了很坏的作用,导致组织不调,导致所有最好的人都离开,这绝对不是我们的目标。因此,向敏捷世界再次引入度量体系,需要勇气,因为大家都抗拒它们,而且都有充分理由。
12. [...] 如果人们处在高度政治化的环境中,比如媒体行业,他们应该如何展示自己的发现?
Katherine 的完整问题:比如在这样的地方,你有一个小团队,他们决定鼓起勇气去了解事情的真实状况,而且使用数据做辅助。常常发生这样的事情,当你试图让管理层了解这些东西,而管理层可能处于高度政治化的环境中,他们以为,或者有时候以为:你想以度量体系支撑你的位置,而不是推动你的决策。因此,对于这样的团队,你会如何建议他们展示自己发现的数据?如果他们使用了你建议的流程,而且发现了某些很有价值的东西,但又身处高度政治化的环境中,比如媒体行业,他们应该如何展示这些发现?
说回你的行业了。非常、非常、非常好的问题。回答可以分为两个层面。首先,作为团队成员,你必须意识到:你的老板、你的管理者、你的利益相关者,他们有工作要做。你必须对他们有信心,相信他们希望做正确的事情,而且能把工作做好,而且很多时候确实如此。他们希望把事情做好,还要做得更好。不过有时候,在类似环境中,确实有一些糟糕的管理者,这样的说法不成立。所以,一旦你那么做了,你的心态就变成:“嗯,让我们帮助他,用不会伤害我们的方法做事。”然后,你就必须跟他携手工作。管理层有权看到事情的进展,他们有权了解你的工作,你也应该让他们看到,并得到自治(autonomy)和自我引导(self direction)作为回报。所以,如果团队愿意做出这样的权衡,那就很好。这不是某种单行道,如果你将其看做单行道,以为“我们可以自治,你没有权力看到事情的进展”,那你就等于提出了过分的要求。
13. [...] 你有没有什么通用的建议?
Katherine 的完整问题:在我随意提出的这种情况下,你接触管理层的方式,等于回到了你之前提到的故事,工程师没有以有意义的方式展示给管理层,然后管理层无法做出关键的、或是正确的决策。在这种情况下,回溯到软件工程的背景下,小团队发现了某些东西,他们应该如何展示他们的发现?或者可以使用什么技术来有效展示?这方面,你有没有什么通用的建议?
在那个例子里面,我不知道真正的组织结构图和人员的互动情况,所以很难做出中肯的评价。所以那个例子完全是针对可视化方式的。不过,对于你想要的答案,我可以用稍微不同的方式给出某些建议。第一点,要理解,你希望跟管理层一起工作,让他们有透明度,这样他们就能做出正确决策。第二点,总有办法针对团队的工作创建度量体系,将其可视化,让人们思考,但不要让他们觉得可以将其作为手段打击团队。我来举一个特别的例子,其中使用了蒙特卡罗模拟,这最好能画个图什么的,但我们还是试试看吧。 假设在敏捷环境中,有一个燃尽图。
这是个系列燃尽图,其中速度是某根曲线的斜率,而且你希望达成某个斜率。如果你针对平均速度做一个投射,它与斜率的交叉点,就是你最后肯恩高大成的速度预期。这马上就能让你告诉别人一个日期。你告诉管理层某个日期,他们就会假定:所有在那个日期前完成工作的风险,都转移到了团队身上。因此,与其这么做,针对同一个可视化图表以及其中的数据,与其给出一个日期,不如给出一个工作可能完成时间的概率分布。
所以你需要使用蒙特卡罗模拟,我们在Rally 开发的某些原型中还划分出了分析链,而且标出了明显的风险,所以那是个很完善的模型了。不过,不管怎么说,简单的模型可以给出何时可以完成的概率分布,背后的数学和科学理论不是特别吸引人,真正吸引人的,是你不会提供一个确定的交付日期,而是给出一个概率分布,并以此在根本上改变了团队和利益相关者之间的关系。这样一来,管理层就不会说“我需要一个日期”,然后团队只能说“我们不知道啥时候能做完”,而且确实如此。“你们是负责开发的团队,肯定比我知道的多,如果知道的话,告诉我。”“呃,我们也不知道。”“那我该拿概率分布怎么办?我需要一个日期。”“我们有很多日期,你能承受多少风险?”“我不能承受任何风险。”最开始的回答可能是这样子。团队会说:“好吧,我们有这个日期。选择这个,也就是分布在未来能达成的日期。”“我觉得那个日期不行。”“现在你就必须选择某些方法了,你到底愿意承担多大风险?”“我还真不知道,咱们跟上面谈谈,或者跟市场部谈谈吧。如果错过目标交付日期,会造成他们多大成本,我们一起聊聊看。他们是要做一些市场宣传,还是要在某个大会上推出产品,所以我们必须要按那个日期交付。还是错过了,也没多大问题。我们到底能承担多少风险?”这样一来,管理层和团队之间的关系就改变了,他们一起携手,最后可以缩窄概率分布,将其向左移动。
Katherine:所以这种做法可以鼓励谈判、对话、协作。
应该说是不鼓励谈判,而是鼓励协作。
14. 有道理。你提到很多Rally 在探索的东西,我想问你接下来要做什么,或是未来的打算?
我们最近发布了一个产品,围绕着软件开发绩效指标框架(software development performance index framework)。我们去年做了一些研究,从数据中得到一些绩效度量体系,这些数据来自ALM(生命周期管理)工具的使用过程。使用那个框架,我们也发布了一些很有趣的研究相关行为、态度和实践成果。现在,我们的产品中有一个工具,可以让你使用这个框架,自己进行实验,在你自己的环境中做研究。这个工具叫 Rally Insights。我们对其有很多想法。现在,在向其中加入两个新维度。目前只有工作效率、可预测性、质量和响应程度,这都来自 ALM 工具的使用。我们正在加入某些调研特性,你就可以调查你的利益相关者,了解他们的满意度,甚至包括客户的满意度,还有员工的满意度、高兴程度,或是某些人所谓的员工积极程度。将来,这个框架中就会有6个维度,让你对真实情况有全面了解。
15. 就你个人来说,在这个敏捷和精益的世界里,你接下来有啥打算?
在克服认知偏见的路上,我正在越走越远。我觉得我们在“什么?”和“那又如何?”上做得不错,我们也能让人们真正了解:相对于表象,为什么他们看到的度量体系有那么重要。在这个行业中,做到内置能力评测,我们的产品是独一份。比起你的同行,也就是其他组织,这的确能让你知道自己到底有多出色。接下来要解决的问题是:“现在怎样?”如何帮助人们基于数据做出正确决策?我真正关注的,还是认知偏差。我正在研读认知偏差的东西,而且努力理解如何在商业环境中克服此类问题。
Katherine:嗯,等你有了更多探索,我很期待再次访问你。非常感谢!
也谢谢你,Katherine。很高兴能来这里。