In this interview, ASTQB President Judy McKay explains how you can not only attract a skilled tester, but keep one. She talks about the traits that make a tester good and what to avoid if you're looking to keep this person around.
Josiah Renaudin: Today I'm joined by Judy McKay, the president of ASTQB. She'll be discussing how to attract and retain skilled software testers in today's industry. Judy, thank you very much for joining us.
Judy McKay: My pleasure.
Josiah Renaudin: Let's start with a broad question to establish the tone. What constitutes a good tester, and why do we need skilled testers to produce quality products?
Judy McKay: As anybody knows who has hired testers, there's a lot of factors that make somebody good, and make them skilled, and make them effective. I always go for a good attitude, number one, over anything. I used to list that as just "attitude," but the bad attitude is not so good. A good attitude: somebody who's willing to learn, somebody who's curious, somebody who really wants to make a difference. Double-edged sword there, right?
You get somebody who's really wanting to make a difference, wanting to improve quality, and they can get frustrated pretty easily, too. If you're a manager, you need to really think about how you're going to balance that hard-driving person who really wants to own an area, have responsibility, and really cares. How do you keep them from burning out?
In some cases, you're not going to fix all the defects. Things are going to ship in less than, shall we say, optimal state, so you always have to balance these things. You can't go out there and say, "Ooh, perfect tester. I'm going to hire them. Boop. They're going to be great. I never have to do anything with them again." It takes a lot of care and feeding to keep a tester happy.
The second part of your question, "How do the skilled testers produce quality products?" A skilled tester is going to be able to embed themselves into the whole software development lifecycle regardless of what your lifecycle is. They're going to be there doing good reviews. They're going to be there building quality from the beginning. I always think of it as buzzing around. If the developers are doing something, the testers need to be doing something—making sure the unit testing is getting done, making sure the integration is happening, making sure environments are set up, making sure test data is being assembled.
They're always around with that quality focus, and that tends to make the whole team quality-focused, whereas if you just have a case where the software is going to get tossed over a fence at the end, you end up with people that are not quality-focused. They're kind of like, "Ah, whew, done. I can go on to my next thing." But if you have that presence of the tester, that quality focus throughout, everyone is building a quality product together, and that's really honestly the only way you're going to make a quality product.
Josiah Renaudin: You mentioned how a tester can enhance a product, but what can a good, skilled tester do to enhance a full team? Can a skilled tester be a loner, or does he or she need to encourage smart testing practices throughout an organization?
Judy McKay: Now you're back to that hiring thing, too. Some testers are loners, honestly, just like some developers are loners. That doesn't mean they can work in isolation, but it does mean that sometimes they're more effective in that role. For example, maybe that's the person that works on test automation. Maybe that's the person that sits back and designs new testing tools. That kind of a personality. You need the technical, head-down, "I just want to get my job done" kind of personality on a test team, but that can't be your whole team.
You need people that are also going to go out there and get involved, and do the reviews, and ask the questions that may seem stupid. But I've got to say, I've prodded a lot of developers into finding defects by asking probably stupid questions like, "I don't see how that's going to work," or, "What are you going to do in this kind of situation? How are you going to handle that kind of error?" Then they kind of go blank and you can see their eyes turning, thinking, "Wait a minute, I don't handle that." Yeah, it was a stupid question, but you have to sometimes go out there and put yourself out there, and maybe be a little subjected to people going, "What an idiot." Sometimes that really helps.
Sometimes that gets people thinking more, and honestly, the loner personality is not going to be very comfortable doing that, but sometimes you need the loners. You definitely need the people that are going to be willing to put themselves out there as well.
Josiah Renaudin: How much has the role of the tester changed in even the last ten years? Can a tester get away with just testing, or has the job expanded to include a larger suite of responsibilities?
Judy McKay: Testing kind of goes back and forth between how much it's accepted as an important part of the industry and how much it's not. It's kind of interesting. I'm working with a consulting company now where we offer software testing services. As a result, I go in and out of a lot of different companies, and one thing that I've seen is a tendency towards testers being accepted as a necessity, but automation being the thing people really want, so it's still kind of the silver bullet, right? "If we have automation, everything will be wonderful. We'll just record everything. Life will be good"—which is not true. It just doesn't work that way.
Automation is a development project in and of itself, but there is certainly a need with the faster development cycles—things like agile methodologies—there's a need for testers to become more technical, to be more involved, to be able to write test automation very, very early in the process, to be able to do performance testing. As we see mobile applications really taking over, performance testing becomes critical because, let's face it, we are intolerant users. How often do you download some cute little app and say, "It's too slow." That's it. You're done with it. Of course, it could be your phone. It could be your connection. It could be all kinds of things.
Performance testing and test automation seem to really have come to the forefront. With agile teams, you see that the tester is much more embedded with the team throughout the lifecycle; the best way to produce a quality product, but also an expectation that that tester is going to be a little more technical. They're going to be more technically oriented. They're going to be able to work with the developers, understand the unit tests, work on continuous integration, things like that.
I do see that there's been an increase in the desire for technical skills, and as always, the tester has got to be moving fast. They've got to be able to move with that development team.
Josiah Renaudin: You just mentioned automation, which is something that constantly comes up when I'm talking to different testers and even developers. How much of testing should be automated, in your opinion? I know everyone has kind of different percentages, like 60/40 and stuff like that, but where do you stand on that issue?
Judy McKay: Honestly, it depends on the software. Some things just can't be automated. There's no gain from that. In general, what you want to do is automate your smoke tests, which is like your build acceptance test. When your build is done, does this thing basically work or not? That's a critical part of a continuous integration, continuous deployment environment. Then you want to automate your regression tests, because that stuff you're going to run over and over and over again, and it's stable. That's your biggest return on investment with automation.
Then, depending on how much time you've got, depending on how fast your software is moving, you may want to go into automating some of your functional tests as well. But in that case, you want to really make sure that it's stuff that's going to be stable, because otherwise, you spend more time maintaining the software, the automation software, than you would just testing it by hand. If you’ve got stuff that's doing really complex calculations or has a lot of variables that need to be tested, that's a prime candidate for automation.
Overall percentage? It really depends on so much. If you can get to 50 percent, you're in really good shape, honestly. When you're getting up to the 60 percent, 65 percent, you're probably reaching about your target of effectiveness, because when you try to get up in the 90s, you're automating a lot of stuff that probably is costing you more in maintenance than it's saving you in having it automated. But again, those are generalities.
Josiah Renaudin: Let's say an organization finds a skilled tester that exhibits all the qualities you touched on previously. How do you keep this integral piece of your team actually engaged? How do you keep this person at your company?
Judy McKay: That's the trick, because once you find that golden person and you've got them trained, you do not want them to leave. Hiring is expensive, and it's a lot of work to train a good tester, because remember, a tester doesn't just have to know the software; they have to know the whole environment. They've got to know how to work with the developers. Every environment is different, so it really requires a fair amount of time for a tester to become effective in an environment.
To me, the important thing is to make sure that person understands that they have opportunities within the organization: opportunities for growth, opportunities for advancement. You want to make sure they've got a good environment, and that means good coworkers, adequate equipment, and, most importantly, probably, a good manager. Most people leave their jobs because of their manager—because they don't like their manager, obviously.
People will stick in some horrible situations, really, if they like the team and they like their manager. They'll stay in a job that doesn't pay well, where the schedules are brutal. They'll stick with that if they basically have good camaraderie. They feel that they're appreciated by the developers. They feel that they've got opportunities with their manager. They'll stay, but you've got to invest in the people. You've really got to do that.
Josiah Renaudin: Kind of branching off that thought, what are three common mistakes companies might make that push good testers to greener pastures?
Judy McKay: No opportunities, I think, is one. Testers will leave if they don't feel valued, if they're just not feeling the love. They will kind of give up, as it's futile to be a tester if they keep coming back with the same kinds of problems and the same kinds of problems don't get resolved. They don't feel like they've got management's support.
The other one, of course, which is always popular, is that old life-work balance. If you have a job and you're working twenty hours a day, you can only do that for so long. There's a point where it's just not worth it anymore, and people are at different points in their life. They're willing to work longer hours or shorter hours. They have demands, and they have requirements, and all those things bounce around. What you need, again, is a good relationship with management so that you can work out, basically, a schedule that works with what you need for life-work balance.
I've had people working for me that had really hard deadlines of when they needed to pick up their kids, for example, at day care, but if they could come back afterwards, fine. If we had a crisis and we needed them to come back, it wasn't fair to make other people work long while they left, but you kind of have to work that out. I've had places where they brought their kids into work, which was fine. There's got to be a way to balance everything, because people do have lives, and in ten years, those kids are going to be grown up. You don't want your people hating having worked for the company, spending all their life doing that.
They've got to have opportunities. They've got to feel like they can grow and advance, but I think most important is they need to feel valued. They need to feel like they matter and what they do matters to the organization.
Josiah Renaudin: Understanding and retention are extremely important, but how do you help good testers become great testers, and then from there make these great testers become leaders in this small community?
Judy McKay: You’ve got to give them opportunities to develop, obviously, because one of the things that's hard as a manager is to get somebody in there who is really, really good at their job—and you don't want to move them because they're really, really good at their job, but you're also not giving them opportunities to advance and learn new things. As a manager, you’ve got to take some chances and you’ve got to take some pain by giving people the opportunity to train, to crosstrain, to learn new areas. It's something that you have to build into your schedules, tight though they may be, because when people are training, they're slower at what they do, obviously. But if you have people locked in a position, that's not fair to them, and it's shortsighted in your situation.
I always look at it as anybody could quit anytime. When people say, "I can't have him transfer. I can't have him work on that project because I just won't be able to get this done." What if they quit? What if they quit tomorrow? What are you going to do then? As a manager, if you can't afford to let your people move around, that's because you didn't plan well, and you’ve got to do that training. You've got to make that investment in them.
You've also got to give people challenges. They've got to have something new to learn, something interesting. Now, again, this varies with the people. I just interviewed somebody who said what she really, really likes is a challenge. She likes new stuff. She likes to learn new stuff. Great. I know what kind of stuff to put her on. But I've also had people that say, "You know what? I just like stability. I just want to come in. I know what I'm going to work on. That's what I'm going to do." Okay, then they need different kinds of challenges. They need to have a roadmap ahead of them.
Again, you've got to be tuned in to the individual, because you've got a huge investment in that person. You want to keep them. You want to value them, and you want to make them happy.
Josiah Renaudin: Let's boil all this down. If you could only give one piece of advice to an organization that's looking to find as well as keep good testers, what would that be?
Judy McKay: I would say give them responsibility. Maybe give them an area that they're responsible for so they have ownership, and make them know that they are valued. That's what I would bring it down to.
Josiah Renaudin: All right, thank you very much, Judy. It was great talking to you today about how to attract and retain skilled testers, and I hope to talk to you more about other topics in the future.
Judy McKay: Great. Hope this helps somebody out there. Thanks.
Judy McKay has spent the last twenty plus years working in the high tech industry with particular focus on software quality assurance and software testing. She has managed departments encompassing all aspects of the software lifecycle, including requirements design and analysis, software development, database design, software quality assurance, software testing, technical support, professional services, configuration management, technical publications, and software licensing. Her career has spanned across commercial software companies, aerospace, foreign-owned R&D, networking and various Internet companies. Judy has been conducting training seminars nationwide for ten years. Her courses are based on the real world application of practical data. She is the author of two books. “Managing the Test People” discusses building and maintaining an effective quality assurance organization. “A Software Test Engineer’s Handbook” is a soup to nuts testing manual that also serves as a preparation for the ISTQB Advanced Test Analyst and Advanced Technical Test Analyst Certification Exams. In addition to being the current president of the ASTQB, Judy also has a “real job” in test management/quality architecture as well as a sideline consulting business.