介绍
作为唤醒者,在团队中我一般不直接教团队成员。我的一般做法是指导其中一位同学,然后帮她成为团队这方面的教头,然后由她负责把大家教会。因为“教是最好的学习方法”。以教代学有很多好处:
- 学习过程的设计和引导本身就是一个反思练习。自身的学习会在学习过程设计过程中获得极大地深化。
- 把大家教会能够产生不小的满足感,这是进一步学习的很好激励。
- 学习的设计与引导过程中可以发现更多的学习机会。经常在设计培训中暴露现有知识体系的不足之处。在培训中,学员提出的尖锐问题通常也会给指出我们一些新的研究方向。
- 让同事来教会比作为外来顾问的我更具有说服力、阻力也会更小。
故事
Nancy在团队中负责测试工作。她的绝大多数工作是手动测试她们基于页面的应用。有一次她见到了我正在和团队中一个开发人员结对写自动化测试,她立刻展示了强烈的兴趣。Nancy在微博上@我:“@Daniel, 下次你来的时候,我们能不能结对一下?”。机会来了,在接下来的几次拜访中,我每次花了一部分精力与Nancy一起加了一些UI自动化测试。一两个月下来,Nancy已经能够写出不错的测试,该是时候把她的经验传播到整个团队了。我帮Nancy设计了一个小培训:
事先准备
- 找到一些还没有被覆盖到的测试场景。这些场景的实现难度不高,而且能够在一个半小时内完成。
- 为大家准备一些小抄,包括一些基本知识以及小技巧。这样大家就不需要去Google了。为了这次培训,我们准备了如下几个小抄:
- 如何安装配置Capybara环境,包括Capybara、Ruby、Cucumber、RSpec、Rake环境
- Capybara的简单介绍以及最基本使用方法
- 一些样例代码,方便大家复制/黏贴
- 课后作业
培训中
- 简短介绍 – 20 分钟
- Capybara简单介绍、Cucumber原理以及如何使用脚本
- 一些已经完成的测试用例
- 小抄及其使用方法
- 组队以及认领任务 – 10 分钟
- 把所有人分成2~3人一组
- 简要介绍待测试的场景
- 每一组分别认领某个场景
- 完成任务 – 1.5 小时
- 小组内讨论测试用例,并用Capybara去自动化。
- Nancy和我提供现场支持
- 分享与总结
- 每个团队展示最终的代码并分享这过程中学到的东西
- 比较各组的脚本并总结出注意事项
- 布置作业
- 介绍课后作业
- 学员重新分组,并认领作业
培训后
- 让Nancy分享在引导培训过程中做得好的、有待提高的要点
注意事项
- 在团队中找到更愿意尝试的成员
- 短时间让她掌握一定的知识与技巧
- 和她一起为大家设定一个难度不大的学习目标,根据目标找到题目,然后帮助她设计一个小培训
- 给她提供学习资源方面的帮助,并在培训现场协助她支持其他学员的学习
- 培训应该高度互动。
这是我正在写的《Awakening Change》中的一部分
An intriguing discussion is worth comment. I ddo think that you ought to write more on this subject, it may not be a
taboo subject buut typically folks don’t talk about such subjects.
To the next! All the best!!