Thursday, August 1, 2013

Teach Testing: 99 Ways Workshop #26

The Software Testing Club recently put out an eBook called "99 Things You Can Do to Become a Better Tester". Some of them are really general and vague. Some of them are remarkably specific.


My goal for the next few weeks is to take the "99 Things" book and see if I can put my own personal spin on each of them, and make a personal workshop out of each of the suggestions.


Suggestion #26: Teach testing. - Stephan Kämper

I mentioned a few posts back that the Association for Software Testing offers a series of Black Box Software Testing courses. Part of that opportunity is the ability for interested and motivated people to teach those courses after they successfully complete them. I've gone through that process and so have dozens of others, and we are always interested in having more people do the same. We have a formal Instructor's Course that we offer for those who want to become Lead Instructors for BBST.

Having said that, you do not have to take a formal class to teach software testing to others. There are plenty of other ways to do it. Speaking at meet-ups, starting local user groups or chapters of test societies, or even an informal Lunch and Learn with you fellow testers at work can help make this a reality. It's this last idea I'm going to suggest for this particular workshop. 

Workshop #26: Make a training topics board, and show which ones you want to learn about and which ones you would like to teach 



This is the board that we have in our QA area where I work right now. It's a list of topics that anyone can post, and the colored dots are associated with a particular tester. Purple is my color. The solid dot means it's an area I can teach about. the open circle means it's something I want to learn more about (with the idea to potentially teach on later). I should note that, right now, the only color you see on the board is purple. That's because I just posted this. I expect other dots will fill in soon enough ;).

By posting a variety of topics, you can see if there is something that someone know about and is willing to share and teach/train to. 

I've personally found that "Push" training is not very effective in a work environment. In other words, if I were to say to my team "Hey, I think it would be great to talk about "Session Based Test Management", so I'm going to do a brown bag on it this Thursday". The team may come, they may support me, but the adoption rate or the effort to use it will actually be fairly low. Why? Because I'm the one telling the team "hey, we're going to get trained on this!"

On the surface, that may not seem like a big deal, but the issue is that it may or may not be that important or motivating to the individuals at that time. I much prefer the idea of doing "Pull" training, and that's where this board comes in. Instead of me telling the team "Hey, we're going to talk about SBTM", one of my colleagues comes to me and says "hey, I noticed you have SBTM listed as one of "your topics". Could you tell me more about it? Maybe this afternoon around 4 p.m.?"

This, I feel, is a much better model, because now I get a chance to talk to someone who has identified a need or an interest in the topic, and we can focus on the ideas one on one. I get to teach the ideas and the concepts, and I will have a much more engaged participant (this can also work with groups, too). 

In this Pull model, it's important to be aware of the needs and the interest of the participants. I'd suggest keeping training and teaching sessions short. Thirty minutes at a time makes the most sense to me, because people will start to lose focus or start thinking about other things they need to deal with. If it takes multiple sessions, do that. Keeping the participants engaged is what's important, and making sure they understand what you are showing them. This also works when you go the other direction. When I ask another tester what they feel they can teach me, I also try to respect their time, keep the sessions short, and see if we can regroup another time to pick up again.

Bottom Line:


Teaching does not have to be an elaborate and formal process. You do not have to be someone with a master syllabus and some grand plan to present material. Organizing your thoughts and being able to focus on key areas for the people you want to teach is important. Doing it with small groups, or one on one, at the request of the person(s) interested in the training is, in my opinion, the best approach. One additional added benefit of teaching… it will really help you understand if you know what you think you know. Teaching others, and having to explain concepts in a way that they will understand, can have a huge effect on how well you understand topics, too.

No comments: