2.2 德雷福斯模型的5个阶段
早在20世纪70年代,德雷福斯兄弟(休伯特和斯图尔特)就开始研究人类如何获取和掌握技能。
德雷福斯模型针对每项技能。
Dreyfus is applicable per skill.
德雷福斯兄弟考察了行业技术能手,包括商用客机飞行员和世界著名国际象棋大师〔2〕。他们的研究表明,从新手到专家要经历巨大的变化。在这个过程中,人们不只是“知道更多”或者获得了技术,而且还在如何认识世界,如何解决问题以及如何形成使用的思维模型等方面体验到根本性的区别。人们获取新技术的方式发生了变化,影响(促进或阻碍)人们工作业绩的外部因素也发生了变化。
不同于对整个人进行划分的其他模型或评估体系,德雷福斯模型具体针对每项技能。换言之,这是一个情境模型,而不是个性或能力模型。
对于所有的事情,你既不是“专家”也不是“新手”,你只是处于某个特定技能领域中的某个水平阶段。虽然你可能只是烹饪新手,但却可能是跳伞专家。大多数非残障成人在直立行走方面都是专家——无需计划或者思考。这已经变成了本能。大多数人在税务规划方面都是新手。如果提供足够多的明确指令,我们就能够完成它,但是事实上我们不知道那是怎么回事(不明白为什么这些规则如此神奇)。
让我们来看一看从新手到专家所经历的5个阶段。
2.2.1 阶段1:新手
专家
精通者
胜任者
高级新手
→新手
由定义可知,新手在该技能领域经验很少或者根本没有经验。这里提到的经验,指的是通过实施这项技术促进了思维的改变。举个反例,可能一个开发人员声称拥有十年的经验,但实际上只是一年的经验重复了九次,那么这就不算是经验。
新手非常在乎他们能否成功。没有太多经验指导他们,他们不知道自己的行为是对是错。新手不是特别想要学习,他们只是想实现一个立竿见影的目标。他们不知道如何应付错误,所以出错的时候,他们非常容易慌乱。
但是,如果给新手提供与情境无关的规则去参照,他们就会变得能干起来。也就是说,需要这种形式的规则:“当X发生时,执行Y。”换言之,需要一份指令清单。
图2-2 玉米饼食谱,不过你知道需要烹饪多长时间吗
这就是呼叫中心的工作原理。你可以雇用一大批对当前技术没有很多经验的人,然后让他们按照一个决策树按部就班地执行下去。
新手需要指令清单。
Novices need recipes.
一个大型计算机硬件公司可能使用下面这样的规则列表。
1.询问用户计算机是否接上了电源。
2.如果是,询问是否已供电。
3.如果否,请用户接电源,然后等待。
4.……
类似于上面这种乏味却固定的规则可以衡量新手的能力。当然,新手所面临的问题是,对于某种情境,不知道哪条规则是最相关的。当一些意想不到的事情发生时,他们就会不知所措。
和大多数人一样,我对于纳税申报一直知之甚少。我没有太多经验,尽管我已经填写申报文件超过25年了,我还是没有学到任何东西,也没有改变思维方式。我也不想学习,我只想实现目标——处理完今年的税务问题。我不知道如何面对错误。当国税局给我寄来简短且冷冰冰的表格时,我通常不知道表中各项目是什么意思,也不知道怎么处理它〔3〕。
当然,总有解决办法。可以求助于一个与情境无关的规则!类似于下面列出的步骤。
填写你去年赚的金额。
- 寄给政府。
- 简单而清楚。
指令清单(包含情境无关的规则)的问题在于你不能一五一十地将所有事情解释清楚。例如,玉米饼食谱中提到烹饪“大约20分钟”,那么我什么时候需要延长或者缩短时间?我如何知道已经做好了?你可以设立更多的规则去解释,然后再用更多的规则去解释刚设立的规则,没有一个实际的界限约定你需要说得多明白。这种现象被称为无限递归(infinite regression)。因此,你必须明确中止反复解释。
规则只能让你启程,不会让你走得更远。
2.2.2 阶段2:高级新手
专家
精通者
胜任者
→高级新手
新手
一旦经过新手的历练,人们开始以高级新手的角度看待问题。高级新手能够开始多多少少地摆脱固定的规则。他们可以独自尝试任务,但仍难以解决问题。
他们想要快速获取信息。例如,当学习一门新语言或API时,你可能会感觉到这点,你发现自己会快速浏览文档以寻找一个方法定义或参数列表。你不想在此刻寻根究底,或者重新温习一遍基础知识。
高级新手能够根据过去的经验,逐步在正确的情境中采纳建议,但比较吃力。同时,他们能够开始形成一些总体原则,但不是“全貌”。他们没有全面的理解,而且的确不想有。如果你试图把一个更大的情境强加给高级新手,他们可能会认为该情境与那些原则不相关而忽略掉。
高级新手不想要全局思维。
Advanced beginners don't want the big picture.
当公司CEO举行全体会议并展示销售预测图表和数据时,你可能会看到这样的反应。许多在这方面经验较少的员工对这些会不加理会,以为这与他们自己的工作不相关。
当然,其实这是非常相关的,它可以帮助你判断明年你在这家公司是否还能继续干下去。但是,你看不到这种联系,因为你层次还不够,只处于较低的技能水平。
2.2.3 阶段3:胜任者
专家
精通者
→胜任者
高级新手
新手
在第三阶段,从业者现在能够建立问题域的概念模型,并有效地使用它们。他们可以独立解决自己遇到的问题,并开始考虑如何解决新的问题——那些他们之前没有遇到的问题。他们开始寻求和运用专家的意见,并有效利用。
与更高水平者追随下意识反应不同,胜任者会探寻和解决问题,他们的工作更多是基于谨慎的计划和过去的经验。如果没有更多的经验,在解决问题时,他们将难以确定关注哪些细节。
胜任者能够解决问题。
Competents can troubleshoot.
你可能会看到,处于这一水平的人通常被认为“有主动性”和“足智多谋”。他们往往在团队中发挥领导作用(无论是否有正式的头衔)〔4〕。他们是团队里的好人,既可以指导新手,也不会经常骚扰专家。
在软件开发领域,我们达到了这个水平,但是即使在这一水平,人们仍然无法按照我们希望的方式来应用敏捷方法——大家还没有足够的能力反思和自我纠正。为此,我们需要取得突破,达到一个新的水平:精通。
2.2.4 阶段四:精通者
专家
→精通者
胜任者
高级新手
新手
精通水平的从业者需要全局思维。他们将围绕这个技术,寻找并想了解更大的概念框架。对于过于简单化的信息,他们会非常沮丧。
例如,处于精通阶段的人拨打计算机的技术支持热线电话,被询问是否插上了电源的时候,不会作出良好反应。(比如我在这种情况下就会想顺着电话线摸到那一头,狠狠地惩罚那个说话的人。)
精通者能够自我纠正。
Proficient practitioners can self-correct.
但是,在德雷福斯模型中,处于精通水平的从业人员有一项重大突破:他们能够纠正以往不好的工作表现。他们会反思以前是如何做的,并修改其做法,期望下一次表现得更好。到这个阶段,自我改进才会出现。
同时,他们会学习他人的经验。作为精通者,他能够阅读案例研究,倾听有关失败项目的流言蜚语,观察别人怎么做,从故事中认真学习,即使他没有亲自参与。
伴随向他人学习的能力而来的,是理解和运用格言经验之谈(maxim)的能力,这些经验之谈犹如谚言或格言,是可以应用于当前情境的基本原理〔5〕。经验之谈不是指令清单,它们必须在一定的情境下使用。
务实的秘诀
当Dave Thomas和我刚开始写《程序员修炼之道》时,我们试图传达给读者一些与我们的专业最相关的建议。
这些诀窍(经验之谈)凝结了我们多年来的专业经验。从每年自我拓展学习一门新语言到“不要重复自己”和“不要打碎窗户”的原则,类似的经验之谈是传授专业技能的关键。
举例来说,一个众所周知的极限编程方法的经验之谈是“测试一切可能出错的东西”。
对于新手来说,这只是一个指令清单。测试什么?是所有的setter和getter方法,还只是打印语句?他们最终会测试所有无关的东西。
但是,处于精通水平的人员知道什么地方有可能出错,或者更确切地说,什么地方非常有可能出错。他们具有经验和判断力,能够理解这句格言在情境中意味着什么。事实证明,理解情境是成为专家的关键。
精通者有足够的经验,他们知道下一步会发生什么,如果没有发生又需要改变什么。他们非常明确哪些计划需要取消,而应该采取什么行动。
同样,处于精通水平的人可以有效地运用软件模式(《设计模式:可复用面向对象的软件》[GHJV95]一书提出的),但是这不是较低技能水平所必须掌握的。
现在我们已经到达了一个层次。精通者可以充分利用思考和反馈,这些都是敏捷方法的核心。相对早期阶段,这是一次巨大的飞跃。处于精通阶段的人更像是初级专家,而不是高级胜任者。
误用的模式和脆弱的方法
现在你可能认识到,软件开发领域的一些最激动人心的新动向是面向处于精通和专家级水平的开发人员的。
敏捷开发依赖反馈。事实上,我在《高效程序员的45个习惯》中对敏捷开发的定义是:敏捷开发就是在一个高度协作的环境中,不断地使用反馈进行自我调整和完善。但是基于以往表现进行自我纠正,只在较高的技能水平上才能实现。
高级新手和胜任者经常会把指令清单和软件设计模式混淆,有时这会导致灾难性的后果。就我知道曾经有一位开发人员刚看了GoF的书,并热情地想开始使用设计模式。所有模式,一次用尽,在一小段平凡的代码里。
他设法把23个设计模式中的17个用在他那段不幸的代码片断中,终于被人发现。
2.2.5 阶段5:专家
→专家
精通者
胜任者
高级新手
新手
终于,我们来到了第5个也是最后一个阶段:专家。
专家是各个领域知识和信息的主要来源。他们总是不断地寻找更好的方法和方式去做事。他们有丰富的经验,可以在恰当的情境中选取和应用这些经验。他们著书、写文章、做巡回演讲。他们是当代的巫师。
根据统计,专家的数量很少,大概占总人数的1%~5%。〔6〕
专家凭直觉工作。
Eaperts work from intuition.
专家根据直觉工作,而不需要理由。这带来一些非常有趣的影响,并提出了一些重大问题——到底什么是直觉?(在整本书中,我们会深入详细地探讨直觉)。
虽然专家们非常有直觉——这一点对我们其他人来说非常神奇,他们可能会对如何得到结论完全说不清楚。他们的确不知道,只是“觉得是正确的”。
例如,医生给病人看病。乍一看,医生说:“我认为,这病人得了Blosen-Platt综合症,最好做一些深入检查。”病人做了检查,结果证明医生是正确的。嗯,你可能要问,医生是怎么知道的?但医生很可能会回答:“他看上去不太舒服。”
事实上,病人只是看起来“不太舒服”。不知怎的,在医生大脑里面的各种各样的经验、判断、记忆,以及所有其他的意识的帮助下,医生把病人身上的微妙线索结合在一起,就得出了诊断结论。也许,只是因为病人皮肤苍白,或是病人躺下时的姿势说明了问题,谁知道呢?
不过,这位专家知道。专家知道哪些是无关紧要的细节,哪些是非常重要的细节。也许不是有意识的,但是专家知道应该关注哪些细节,可以放心地忽略哪些细节。专家非常擅长做有针对性的特征匹配。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论