返回介绍

2.4 有效地使用德雷福斯模型

发布于 2024-08-18 12:13:32 字数 4981 浏览 0 评论 0 收藏 0

大约在20世纪70年代末,护理专业陷入了绝境。以下概括列举了其面临的问题,这些问题是我从若干案例和故事中总结出来的〔13〕

- 护士认为自己仅仅是一种工具,从而漠视工作。她们只是执行训练有素的医生们的指令,人们不期望她们对病人的护理有所创见。

- 由于薪酬等级的不平等,专家级护士争先恐后地离开一线护理工作,通

过管理、教学或者巡回演讲赚更多的钱。

- 护理教育开始受到质疑,很多人认为正规的实践模式是最好的教育方法。这种对正规方法和工具的过度依赖削弱了实践中真正经验的作用。

- 最后,人们忽略了真正的目标——患者的治疗效果。无论采用何种过程和方法,无论谁来护理,结果是什么?患者活下来了吗?在逐渐康复吗?还是相反?

十年成就专家?

那么,你想成为专家是吗?你需要投入大约十年的努力,不论哪个领域。研究人员*已经研究了下棋、音乐作曲、绘画、钢琴演奏、游泳、网球和其他技能。几乎在每种情况下,从莫扎特到甲壳虫乐队,你会明显发现在成为世界级的专家之前至少需要十年的辛勤工作。

例如,甲壳虫乐队凭借在1964年Ed Sullivan访谈节目中里程碑式的亮相开始风靡世界。他们的第一张成功专辑Sgt. Pepper's Lonely Hearts Club Band很快在1967年发行。但是乐队并不是在1964年成立的,他们从1957年开始就在俱乐部唱歌,到发行第一张专辑花了十年时间。

而且需要辛勤工作——只是在某领域工作十年是不够的。你需要实践。根据著名认知科学家Dr. K. Anderson Ericsson的说法,积极的实践需要四个条件。

□需要一个明确定义的任务。

□任务需要有适当难度——有挑战性但可行。

□任务环境可以提供大量反馈,以便于你采取行动。

□提供重复犯错和纠正错误的机会。

稳步做这种实践十年,你就会达到目标。正如我们在《程序员修炼之道》[HT00]中提到的,甚至连英国诗人乔叟也抱怨“生命如此短暂,学知之路如此漫长”。

但是,有一些好消息。一旦你成了某个领域的专家,在别的领域成为专家就会变得更容易。至少你已经有了现成的获取知识的技能和模型构建的能力。

感谢June Kim推荐了Dr. Ericsson的文章。


如果仔细阅读以上这些问题,你可能已经注意到这些问题听起来是那么地熟悉。请允许我稍微修改一下这些问题,以反映我们软件开发的职业特征。

- 程序员往往认为自己是一种工具,从而漠视工作。他们只是执行训练有素的分析师的指令,人们不期望他们对项目的设计和架构有所创见。

- 由于薪酬等级的不平等,专家级程序员争先恐后地离开一线编码工作,通过管理、教学或者巡回演讲赚更多的钱。

- 软件工程教育开始受到质疑。很多人认为正规的实践模式是最好的教育方法。这种对正规方法和工具的过度依赖削弱了实践中真正经验的作用。

- 最后,他们忽视了真正的目标——项目结果。无论采用何种过程和方法,无论谁参与项目,结果是什么?项目成功了吗?在不断进步吗?还是相反?

嗯,这样听起来更熟悉一点。事实上,这些都是我们行业目前面临的严重问题。

早在20世纪80年代初,护理专业人员开始把德雷福斯模型应用到他们的行业中,并取得了显著的成果。Benner博士在其里程碑意义的著作中展示和解释了德雷福斯模型,使所有相关人员更好地了解自己和同事的技能和角色。它提出了具体的指导方针,尝试从整体上改进行业。

在随后的25年里,Benner和后续作者、研究人员不断改善他们的职业水平。

因此,在R&D精神(指Rip off and Duplicate,偷师学艺)的指导下,我们可以从他们的工作中借鉴很多经验教训并应用到软件开发中。让我们仔细看看他们是如何做的,并思考在我们自己的行业中可以做些什么。

2.4.1 勇于承担责任

25年前,护士总是无条件地执行命令,甚至强烈而自豪地认为她们“从来没有偏离医生的命令”,而不顾病人的需要或状况发生明显变化。

形成这种态度的部分原因在于医生,医生不会总是持续观察病人情况的细微变化,同时部分原因在于护士本身,护士非常愿意把实际工作中的决策权交给医生。那样做,护士的职业就会更安全,这确实也存在一定的心理基础。

在一项实验中〔14〕,一名研究人员在病房中假扮一名医生,命令护士为患者服用某种药物。命令的发布突破了若干底线。

- 命令通过电话发布,而没有手写处方。

- 该药物不属于病房核准可用的药物。

- 使用的剂量是药物标签说明中最大量的两倍。

- 电话里的所谓“医生”是一个陌生人,护士和其他人员都不认识。

但是即使在这些如此明显的警示信号下,95%的护士还是服从了命令,径直去药品柜中取指定剂量的药,然后走向病人的房间。

幸运的是,当然会有一名合作研究者拦住她们,并解释这只是一项实验,制止了她们执行虚假的命令〔15〕

在程序员和其项目经理或者项目架构师的身上可以看到非常类似的问题。程序员对负责架构、需求甚至业务流程的相关人员的反馈要么根本没有,要么被严词拒绝,要么干脆被大家遗忘在脑后。程序员经常实现一些他们明知道是错误的东西,忽略了明显的警告信号,这非常类似于上例中的护士行为。敏捷方法有助于促进所有团队成员的反馈并有效利用,但这只是成功的一半。

“我只是执行命令!”是无用的。

"I was just following orders!"doesn't work.

护士不得不承担责任,以便根据特定情形下的动态变化做出现场决定,程序员也必须承担同样的责任。“我只是执行命令”这样的说辞在纽伦堡审判中无助于摆脱二战期间所犯罪行,同样在护理职业也行不通,对软件开发来说也是如此。

但是,为了实现工作态度上的转变,我们确实需要提高技能。高级新手无法自己做出这类决定。我们必须培养高级新手,帮助他们把技能水平提高到胜任者层次。

有助于实现这个目标的主要方法是在环境中有好的榜样。人天生善于模仿(参见7-4节)。通过模仿榜样我们可以学得最好。事实上,如果你有孩子,你可能已经注意到他们很少照你说的做,却总是模仿你的所作所为。

诀窍4

通过观察和模仿来学习。

没有实践就没有技能

爵士乐是一种非常依赖现实体验的艺术形式。你可以学习所有的和弦和演奏爵士乐所需的技术,但是你必须亲自演奏它才能获得“感觉”。著名小号手和歌手Louis "Satchmo" Armstrong曾这样谈到爵士乐:“各位,如果你只是问,你永远都不会明白。”

没有实践就没有技能,而且没有什么东西可以替代实践,但是我们可以努力使你现有的经验发挥更大效力。


小号手Clark Terry曾经告诉学生们学习音乐的秘密是经历三个阶段:

- 模仿

- 吸收

- 创新

也就是说,首先模仿现有的做法,然后慢慢地吸收内在的知识和经验,最终将超越模仿阶段并能自主创新。这和被称为Shu Ha Ri的武术训练周期有异曲同工之妙。

在Shu阶段,学生模仿老师教授的技术,原模原样。在Ha阶段,学生必须思考其中的意义和目的,以达到更深的理解。Ri意味着超越,不再是一名学生,已经具有了自己的创新。

因此,我们需要研究如何在项目中坚持实践尽可能多的现有技能,如果实践者不长期浸淫于该领域,这些进步就根本体现不出。

2.4.2 在实践中保持技能

当时,护理专业的技能迅速丢失。由于薪酬级别和职业发展的局限,拥有高技能水平的护士都会在事业生涯的某一个时刻被迫离开一线临床实践岗位,进入管理或者教育领域,甚至完全离开这个领域。

在软件开发领域基本也是这样。程序员(又称“码工”)只挣那么点工资,而销售人员、顾问、高级管理人员等的薪水可能比最优秀程序员的两倍还多。

公司需要更细致更全面地看到这些明星程序员为团队带来的价值。

优胜者不会帮扶失败者。

Winners don't carry losers.

例如,许多项目团队用运动来比喻团队协作的积极方面和共同的目标等。但事实上,我们对团队合作的理想化看法与专业运动队的实际做法并不相符。

两个人在棒球队中担任投球手,不过其中一个年薪2500万美元,另外一个可能只挣5万美元。问题不在于他们的工作职位,或者工龄长短,而在于他们为团队带来了什么价值。

Geoffrey Colvin的一篇文章〔16〕表达了这个观点,他指出,在拥有明星的真正团队中,不是每一个人都是明星,一些人是新手和高级新手,一些人只是胜任者。新手需要爬梯子,但是优胜者不会帮失败者——失败者会被团队抛弃。最后,他指出位列前2%的优胜者并不被认为是世界级的,位居前0.2%的才是。

不只是在竞争压力大的专业运动队,甚至连教会也区分才能差异并努力有效利用。最近,我看到一份全国教会的新闻通讯,对如何培养和维护音乐节目提出了建议,听起来非常熟悉。

- 一个组织的好坏由其最弱一环决定。把最好的演奏者聚集在一起从事主要的服务,同时创建“农场队伍”完成其他服务。

- 组织内每周的演奏者应相同、稳定。要让组织成型,演奏者进进出出会适得其反。

- 时间就是一切:鼓手(乐队的)或者伴奏(合唱团)必须是固定的。最好使用预先录制的伴奏而不是频繁更换的鼓手或者风琴手现场伴奏。

- 让团队的优秀音乐家安心,随时关注变化。

这正是你想在软件团队中做的同样的事〔17〕。为高技能的开发人员提供合适的环境至关重要。

鉴于最高技能水平的开发人员的生产力比最低水平的高几个数量级,目前常用的工资结构是不到位的。就像多年前的护理专业,我们不断面临关键技能高手转向管理、竞争对手或其他领域的风险。

随着向人力成本更便宜的国家开展外包和离岸开发,这种趋势变得更加严重。这个发展状况很让人担忧,因为它进一步巩固了人们的偏见,认为编码只是一种机械活动,恨不得都外包给最低水平的承包人。事实当然完全不是那么回事。

正如护理专业一样,编程专家必须持续编程,并找到一个有意义、有价值的职业生涯。对组织来说,设置一个能够反映最优秀程序员价值的薪酬等级和职业阶梯是实现这个目标的第一步。

诀窍5

保持实践以维持专家水平。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文