我在成为内训师的初期,因为培训之前经常要写培训目标,也就是学员在本次培训中的主要学习目标。一开始经常会看到如下的编写形式:
- 了解面向对象设计SOLID原则
- 掌握大部分代码坏味道
- 掌握TDD的姿势
这类目标的编写方式看起来好像没毛病,每个人也都能读懂,并且好像能够明白其中的含义。仔细琢磨一下,这其实不是最好的方式,原因如下:
- 受众不明确。参加的学员是什么样的学员?是资深开发人员,还是初级开发人员,是QA还是还是DEV,因为一场培训中有可能存在不同背景的学员。
- 验收不明确。不知道如何验收学员有没有了解或掌握。学员有哪些行为表现表明目标达到了。
- 条件不明确。学员是刚培训完就能掌握TDD的用法,还是学完后经过两周的实践。或者学员在用Java编程语言,还是其他任何编程语言。
- 范围/程度不明确。是所有学员都要做到,还是只要保证80%的学员达到目标即可。另外TDD的姿势能做到80%的标准,还是严格100%
基于这四个点,业界同仁总结出了学习目标的ABCD写法:
- A(Audience)听众,目标听众是谁,一场培训通常有不同背景的学员,不同背景的学员参加完同一场培训之后所能够达到的目标也是有所差异的,这点是培训面临的一个挑战之一。
- B(Behavior)行为,培训后表现出什么样的行为。能够讲出来,能否做出来,都是可以观察到的。
- C(Condition)条件,在什么条件下,比如,特定的技术栈、多长的期限内。
- D(Degree)程度,完成的效果如何,能达到多大、多高的比例,比如是所有人还是部分人,是严格按照标准还是标准的部分。
采用,ABCD模式改变一下上述的模式:
- 所有学员,在培训结束后,能够用自己的话阐述SOLID原则。
- 90%开发人员,能够在培训后完成结业作业,识别出《重构》书中所列的10种代码坏味道。
- 所有学员,能够在培训结束后,在开始Story是做Tasking,并可视化记录下来。
- 所有开发人员,能够在1个月后,Java技术栈下,采用标准的TDD四步法来完成Story。
写法比之前具体明确了很多,有了不同的目标区分,就会驱使你对培训的设计做出一些调整,一开始确保了目标的准备,设计培训的时候不至于走的太偏。这有点像做TDD的时候,很少会多出一些无用的接口。一开始思考清楚了培训目标,也会让你的培训更有针对性,更适合学员。花时间去思考是一项值得做的事情。
采用ABCD的模式能够帮助你更深入的思考目标,因地制宜。另外,衡量一个学习目标好坏的标准 -- 目标达成是否容易评估,要做好这一点,背后有一个参考原则,见下一篇分享。