Instead of just teaching people, I usually encourage and support my client to teach. Teaching is a far more effective way to learn than typical learning methods such as reading and practicing. There are a lot of benefits:
- Teaching itself is a reflection exercise. When teaching, learning is being reinforced by designing it and support others in trouble shooting.
- Teaching is a big learning motivator.
- Teaching creates more learning opportunities. It is quite common for us to identify missing pieces When presenting about ideas or being asked questions in the learning session.
- There will be less resistance when taught by peer than an external trainer. There will be less excuse not to learn.
Nancy is a tester in the team. She spent most of her time manually testing their web app. Once she saw I was automating navigation of their pages with her peer, she was impressed immediately. She pinged me at twitter, “@danielteng, will you pair with me next time you come?”. I replied, “Sure!”. After several small learning sessions, she was able to write elegant scripts and. The test suite grew quite fast. It is time to spread the knowledge to her team members. So we designed a workshop as following:
- Identify a few appropriate new test scenario as assignments which can be accomplished within 1.5 hrs.
- Prepare cheat sheets of basic knowledge/hints. In this case, we prepared cheat sheets for
- Setting up Capybara environment
- Basic concept and usage of Capybara with examples
- Where to find example code to copy/paste
- Homework for next week
- Concept introduction – 20 mins
- Basic concepts of Capybara, Cucumber etc.
- Walking through some example code
- Introduction of cheat sheets
- Team formation and task assignment – 10 mins
- Split all participants into small group of 2 or 3
- Explanation of task assignments
- Small groups sign up assignments
- Assignment – 1.5 hrs
- Small groups work on their assignments
- Support ad-hoc questions and issues
- Each group share with entire participants their outputs
- Reflection on learnings
- Homework assignment
- Identify a candidate who is more open to change.
- Get her up to speed in short term
- Support her setting minimum learning objectives for peers and design the learning session
- Provide necessary support on learning resources, also provide coaching/support during the session.
- The learning session must be an interactive session supported by experienced trainers.