当世界发生碰撞之时
很不幸的是,专家无法解释他们的决策制定过程。不妨把他们想象为处于自动导航状态的飞机:由潜意识产生的、已经成型的解决方案,直接在他们面前显现。职业网球运动员就是“知道”如何回一个上旋球。职业音乐家将手中的乐器视为自己身体的一部分,而不是他们操纵的某种设备。
要知道大部分人在自己所做的大部分事情上还处于“高级初学者”或“胜任”阶段,这在职场中同样适用。这就意味着一个专家级的程序员——或者测试人员、分析师——可能有一个处于“胜任”阶段,甚至更有可能在“高级初学者”阶段的上司。(直到最近,你认识几个曾是天才程序员的项目经理?Dreyfus模型对他们同样适用。)
这些人以任务为核心进行思考,乐观一点,也是以一系列有明确顺序的任务所要达成的目标为核心。他们的思维无法接受类似“我已经有15年的应用交付经验了,我就是知道我们不应该使用ESB”这样的话。(“就是”这个词又出现了)当然,“精通”或者“专家”级别的人会接受这样的解释,实际上他们愿意首先主动去寻找专家来提供直觉自发的解决方案,并在以后坚决支持他们的决策。
非常好的实践和Dreyfus模型
对Dreyfus模型有了一点点“新手”的理解之后,不妨再回顾一下“非常好的实践”这个词汇。它到底是什么含义?“实践”就是我们所做的事情。它们是一些特别的行为和活动,是被规定好了的。“非常好的”是一个绝对化了的限定语(与有对照的“更好”或者更为温和的“很不错”相对来说)。它与上下文无关,并且毫不含糊。用“非常好的”一词就表明对于这些实践来说,不存在更好的实践。
所以根据这个定义,“非常好的实践”就是一系列与上下文无关的、明确无误的、规定好的活动。在基于任务的学习中,它们就是任务。那么不同的技能水平又如何回应到这样的模型上呢?
非常好的实践可以帮助初学者
“新手”需要非常好的实践。没有它们,他们的工作就不能正常进行。实践为他们指明了前进的方向——越详细越好。
“高级初学者”使用非常好的实践。他们在迈向“胜任”这个阶段的旅程中,会很容易越过正确与错误的边界,而非常好的实践可以帮助他们看清这个边界在哪里。
处于“胜任”水平的人可以制定非常好的实践。不过要注意,他们是以目标为导向的,但仍依赖于具体的执行步骤和顺序来达成这些目标。他们记得成为“高级初学者”的过程,记得犯过的所有错误,而且他们希望让以后的“新手”不要重蹈覆辙。这一点后面再详细讨论。
非常好的实践会限制你最棒的人才
已臻“精通”境界的人有时会回头复查非常好的实践。他们正学着相信自己的直觉,可直觉不一定总是足够的。在这个阶段,非常好的实践可以起到帮助和阻碍的双重作用。如果直觉要你做一些超出条条框框的事情,你可能为了要遵守非常好的实践给定的规则而止步不前,从而无法以最有效的方式达成目标。
到了最终阶段,“专家”是不会使用非常好的实践的,因为他们根本不使用任何实践。实际上,专家们会为了达成目标而“颠覆”非常好的实践(或者,颠覆紧密伴随着非常好的实践的僵化流程)。纵使非常好的实践是必须与之相伴的无可避免之弊,也不能让它束缚住手脚。
上述后两级别的相关人士,特别是专家,会很快对基于实践的做事方式表示厌恶;已经到达“胜任”级别的人,对被给予任务级别的做事细节指导也十分厌恶,而这两种厌恶完全相同。(“把红8放在那儿,黑9的下面,然后老A就可以自由移动了”。)当要求专家遵守规则的限制时,就不仅仅是坐在后面座位对司机指手画脚了,你正在对他们很少出错的本能和直觉提出质疑。
非常好的实践应由中心驱动
绝大部分基于实践的流程和主张都来自处于“胜任”级别的人。虽然没有任何统计学上的证据,但是我坚信这一点。处于在“胜任”级别的人,相信他们在低水平阶段所犯的错误是源于被分配任务的描述不够严格和完整。如果我们能够提供足够好的实践,就能让大家从“新手”直接到达“胜任”阶段,而不必在“高级初学者”阶段浪费努力,徘徊不前。可是在“提供实践”这个技能上,处于“胜任”级别的人还不知道 “精通”是什么感觉(要牢记:做任何事情都是从“新手”开始的,包括对“学”的学习,以及对“教”的学习),所以他们没有充足的理由——或证据——来相信自己的直觉或本能。专家所做的任何事情,总是可以被分解为一系列可重复的实践的——这也可被成为“技能分解(de-skill)”过程,这样技能水平稍差——直接面对吧,收入也略少——人士们就可以完成同样的任务了。
我们可以有一组来自“卓越中心(Centre of Excellence)”或“非常好的实践小组(Best Practice Group)”的专家,让他们制定非常好的实践,并将其在整个企业中推行。
在这个上下文中,“专家”并非意味着Dreyfus模型中的专家,而是某个十分胜任其工作的人。这里有一个非常重要的区别。像IBM的深蓝计算机那样可以击败国际象棋大师的电脑不是专家。它只不过是能够飞速覆盖大量的概率搜索空间而已(深蓝计算机这个例子非常用在这里非常恰当,因为Dreyfus兄弟当初在研究人工智能时就是选定象棋作为最初的问题,而1997年深蓝击败加里?卡斯帕罗夫是计算机国际象棋研究中的一个重大里程碑事件)。从这个意义上来看,它确实非常、非常胜任!最近在神经学上的研究显示,在某个领域的专家处理问题的速度并不比常人快多少。实际上,他们处理的东西更少。在处理同一个问题时,专家的大脑活动要少于非专家。换句话说,他们会本能地削减解决方案空间,而且对于哪一部分更有可能产生结果,他们的感觉更加敏锐。(国际象棋计算机的例子反复出现,是因为Dreyfus兄弟当初在研究人工智能时就是选定象棋作为最初的问题,而且深蓝击败了加里?卡斯帕罗夫。)
非常好的实践模式
实际上,当一个非常好的实践在Dreyfus模型的范围内愈加适用,它就愈像一个模式了!
一个“亚历山大”模式——以建筑师克里斯托弗?亚历山大而命名——描述了一个上下文,它所应对和引入的不同的“外力”(外部因素),以及一些典型的示例。在亚历山大模型体系中,一个模式只有在与其他模式联合使用时才能发挥作用,因为只有这样才能创建交互作用力的体系,以互相平衡,产生和谐。
将此哲学应用到“非常好的实践”上,可以开发出一整套互相依存、彼此合作的实践体系。新手可以像使用“烹调指南”一样用之指导自己的工作;中等级别的人可以用之实践,而专家则可以对之品评。实际上,首先提供上下文是一种非常有用的练习,对识别某个或某组特定实践的价值非常有帮助。
结语
人们不愿意冒险。一般人认为是由于畏惧使然,这没关系。对于我们应该(从理性上)害怕的东西,去评估遇到它们的可能性并努力规避,这是完全正确的。
非常好的实践的目标是为新手提供指南。人们在学习时会犯错误是因为犯错误就是学习的一部分。无论看起来多么诱人,你也不可能跳过“高级初学者”的阶段,从“新手”直接达到“胜任”水平而不犯任何错误。人类的学习过程不是这个样子的。软件开发是一种技能,无论你从事的是哪一方面——作为开发人员还是测试人员,作为分析师还是项目经理——表现最出色的人明显是从本能出发进行工作的。如果他们不能解释决策的过程,这就是他们具备高级专业技能的显著标志(当然,不要把缺乏基本的沟通技能与此混为一谈!)。
要想在一个要求多种技能的组织里创建某种一致性,相对有明确分割界线的非常好的实践,亚历山大模式提供了一种更加实用的策略。
实际上,最好的“非常好的实践”既不是非常好的的,也不是实践。
致谢
ThoughtWorks前同事Robin Gibson是第一个向我介绍Dreyfus模型的人。“实用程序员”Dave Thomas在QCon 2007上就其做了一个精彩的演讲,也将我引向了Partica Benners的书《从新手到专家》(From Novice to Expert)。这是一本让人大开眼界、令人为之一振的书,其中充满了各种趣闻轶事,而其作者是一位护理学方面的专家。?redev的组织者Michael Tiberg,好心地允许我在他的会议上进行以“非常好的实践”为题的演讲,这也是本文的缘起。在会上,我与Andy Hunt进行了交流,发现他妻子似乎是将Dreyfus模型引入到软件社区的第一人!Andy目前在写一本书,Dreyfus模型是其中的重点,此外还涉及其他一些关于人们优秀的思维方式的内容。当然,还要感谢Niclas Nilsson建议我写这篇文章,而且为我提供公开发表的机会。
译注1:所谓钟形曲线又称正态曲线,它是一根两端低中间高的曲线。它首先被数学家用来描述科学观察中量度与误差两者的分布。比利时天文学家奎斯勒首先提出大多数人 的特性均趋向于正态曲线的均数或中数,越靠两极的越少,从而把正态曲线首先应用于社会领域。以后在高尔顿爵士推广下,正态曲线被借用至心理学,用来描述人 的特质量值的理论分布。PeopleSoft全球首席顾问韩斯瑞(Row Henson)女士根据钟形曲线的研究发现,若以工作绩效与能力区分,钟形曲线的中间突起部分,可以视为企业员工表现的平均值;经统计得知,企业内表现值最高的前10%的业务员,大约可为企业带来60%的营收。也就是说,位居企业内前10%的高绩效员工所创造的绩效,将高达整体员工共创绩效的60%。若企业能成功掌握这10%员工的动态,并在必要时刻从另外90%的员工中做出裁员决策,不但无损于绩效创造,更有助企业精简人事成本计划的执行。
译注2:原话为乔治?卢卡斯在《星球大战》系列影片中为尤达大师编写的一句台词:“恐惧导致愤怒。愤怒导致憎恨。憎恨导致痛苦。(Fear leads to anger. Anger leads to hate. Hate leads to suffering.)”