Developing a Team of Testers

[article]
Summary:

As the leader, your team's development is your responsibility. In order to keep good people, you have to allow them the opportunity to improve themselves. You need to be aware of the different levels of testers there are in the team, the abilities each level of tester has, and what motivates every individual.

There is a lot to consider when building a team: team dynamics, fit, size, diversity of expertise, business needs, etc. After you have a team formed, then you, as the leader, have the responsibility of team development. In order to keep good people at all levels, you have to allow them the opportunity to improve themselves.

My goal as a leader of a team is to make the team strong enough to not need me. I enjoy being there, being useful, removing roadblocks, and assisting as necessary. When I'm dragged into another planning meeting, I need to be confident the team can move forward without me, regardless of what comes up.

The best part of developing a team is that you are developing your people, technical, and leadership skills while helping your team succeed.

First, have you walked a mile in the testers’ shoes? If they quit today, could you fill their positions and be successful with a minimum of turmoil? If the answer is no, how do you expect to help them develop?

In order to help people develop, you need to know where they are. Are they junior, middle, or senior testers? I consider junior testers to be the ones that need training in almost everything, but they should have the right mentality, be smart, and display potential. They may also be people with a couple of years’ experience that is not directly translatable to the current context—they may undertake the wrong processes or have the wrong ideas about testing.

Developing juniors entails teaching them the basics of testing. What is a test? How do you know when something passes? They need the step-by-step instructions everyone else on the test team takes for granted. Juniors need permission to think for themselves. You must impress upon them concepts such as "trust but verify," how to break down a problem, and technical skill learning. Do not spoon-feed them; give them resources they can use to learn. The goal in developing junior testers is not a reliance on you, but a reliance on themselves and their ability to learn. I've had good luck pairing a junior with a middle or a senior on the same project.

Middle testers I consider to be the workhorses. These people get the job done but only occasionally go above and beyond the call of duty. These testers can sometimes be left on their own and will do an adequate job, but they can't be abandoned altogether. They must be prompted to make sure they don't have questions as opposed to relying on them asking when needed. Honestly, in my experience, most people will never progress past this point.

Middle levels you didn't train as juniors are the hardest part. You most likely have to untrain a mentality of "I need you to tell me everything." Middles can also be corrupted by well-meaning seniors who don't understand how to give them enough room to dip their feet in the water without letting them drown.

Senior-level people on my teams are the ones who challenge themselves, so helping them develop can be a serious time commitment. I have found that giving them permission to challenge themselves is usually all the push they need. However, some of them need help with some specific boundaries, such as time, a project goal, or a technology to use.

Drive, Enthusiasm, and Motivation

Do you know what drives each of your people?

This is a skill you, as a leader, have to cultivate. The success of a team depends as much on each individual member as it does on how they all function as a team. Figuring out what drives your people is step one to productive individual development effort.

You can ask self-aware people about their drives and they can tell you "Retire by forty-five," "More time with my family," or "No more eighty-hour workweeks." For those who are less self-aware, direct observation is best. My experience is that testing tends to harbor more "I don't know what I want to do" people than people who have a testing career plan. For about every five testers I know, only one of them is truly interested in career development as a tester. Most of them are just fine putting in forty hours, going home, and forgetting. You can try to force career development on them and a little of it will stick, but is that the best use of your limited time?

This is why it is so important to look for problem solvers with drive and enthusiasm in interviews. They want to know, so when they don't know, they spend huge amounts of time and effort to find out.

How do you motivate such people? I have four examples of common motivation techniques and one uncommon technique that was demonstrated by accident. This is not a five-step program; these techniques are separate pieces that can be tailored to individuals.

First, I generally start by asking people to improve a skill or learn a brand-new one. Next, I assign specific tasks. It’s not about the skill, here; it’s about accomplishing a task in a very specific way, allowing them to try something they normally wouldn’t try. Third, I will give them a specific hard problem. Fourth, I try and give them freedom, which can be extremely scary. Freedom is autonomy, which can mean success or failure, and many people can’t deal with freedom until they trust you as a leader. The last technique, which I discovered when I left my last job, is to create a vacuum. Someone I had been trying to persuade to step up and be a leader finally did so, but only after I had left and the leadership vacuum was there.

Identifying Testers Ready to Develop

My preferred method is when one of my employees starts the process by asking, "What areas can I improve in?" or by starting improvement on their own. These are usually the people from whom you will see the greatest return on investment. They have already passed step one: knowing they don't know it all. These are the people to whom you can casually say, "Hey, I was looking at x. It seems to have potential," and they will start also looking into it, evaluating it, and trying to see how they can apply it.

Unfortunately, most of the time the process is manager-driven. When a tester doesn’t realize he is ready to develop, you have to be direct: " I think you have potential. Would you be willing to talk about how you can take it to the next level? Where do you want to be in two to three years? Would you like me to help you define a plan for learning?"

Mentoring Testers

It is extremely important to pair a student with a mentor who has a like personality. People who mesh make mentoring a breeze, while people who clash can sometimes work, but not without a lot of work on both parts.

I was trying to help someone learn her next steps, so we sat down to go over an agenda I had of what we would cover for the next hour. I thought she would simply pick it up and we'd both get back to work. But after fifteen minutes she was on the verge of tears, and I was so frustrated at myself for not being able to explain the concept that we never really worked well as a pair after that.

Conclusion

While developing a team of five testers is vastly different from developing a team of fifty, helping each tester grow into his career doesn’t change much. You need to be aware of the different levels of testers there are in the team, the abilities each level of tester has, and what motivates every individual. More importantly, you need to be able to identify when a tester at any level is ready to begin developing the skills and attitude it takes to reach the next level, and you need to provide the mentorship required to help her get there.

What have you done to develop your testers today?

About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.