Testing is critical to the success of any application. In fact, your software is only as good as the testing team behind it and their ability to identify bugs before they find their way into production. Practically speaking, that means that building and nurturing an effective testing team is mission-critical. But, of course, doing so is a lot easier said than done.
That’s because to be successful, today’s testing teams need to be cross-functional, efficient and focused on the right things. They also have to be fully bought in and worthy of deep trust. As a result, finding the right candidates can be a challenge, so you have to get creative.
Not only that, to attract and retain the best talent, you need to keep them motivated by giving them ample opportunities to learn and advance their career, while not weighing them down with the burden of time-consuming and unnecessary administrative tasks. Instead, you want to equip your team with the right tools to enable and empower them. In this article, we’ll take a closer look at how to build and nurture a successful testing team.
3 Steps to making your testing team a success
Before you begin to build your team or to make changes to the one that you have inherited, there are a number of important steps to take:
1. Define what success will look like for your team.
A lot of QA teams make the mistake of focusing solely on the number of bugs leaked into production. And while certainly a useful metric, you’ve got to look at it within the context of the severity of those bugs. In other words, having a dozen small bugs that are simply cosmetic in nature is almost always going to be preferable to have one or two that are so critical that they impede the functionality of your app. The bottom line is that not all bugs have equal impact, and they shouldn’t be treated as if they do.
And while every team should approach QA with a zero-defect mentality, keep in mind that it isn’t always realistic. It’s impossible to test everything and bugs will always slip through.
Accept that as a given, and focus your energy on ensuring that the bugs that do find their way into your software aren’t severe.
2. Build out your team.
Today’s testing teams need to be cross-functional to keep up with the demands of automated and manual testing. Among other things, that means that you need to have an automation lead, someone who knows how to write load and performance tests, someone who’s got the domain knowledge required for manual and exploratory testing, and someone else who is well versed in risk and security.
And while the exact size and composition of your team will depend on how big your company is and how you chose to structure it, there’s a general rule of thumb to follow: The lower the ratio of developers to testers the better, so try to ensure that you have no more than three developers in your organization for every tester, or better yet, two developers per tester.
When it comes time to build out your team, use of word of mouth as a recruiting tactic and try to get creative about where you look for candidates. Since there aren’t many degree programs out there that focus on testing, your best bet is to look for people with physics, math or other technical degrees who have demonstrated problem-solving skills. Being tech-savvy and critical thinkers should more than compensate for a track record of experience that you don’t feel is long enough.
As part of your recruiting efforts, you should always try to find at least one testing rockstar who can be a leader. However, that doesn’t mean that you should be looking for a unicorn who can do everything so that you meet all of your testing needs with a single hire. Finding such a candidate is virtually impossible, writes Sanjay Zalavadia in InfoQ, and looking for one will only slow down the recruiting efforts.
Adaptability should be a key trait of any new hire. Someone who specializes in automation, but only wants to run tests in Python with Selenium, may not be as good a fit as someone who has less specialized knowledge but is excited about learning and trying new things.
3. Motivate your team and create the right culture.
Whether you’ve just built a new team or are starting work with a legacy team that you’ve inherited, it’s important to figure out how to get the most out of each team member.
One way to help do this, while also incentivizing people, is by establishing different career tracks. Putting team members in tracks that align with their professional interests sets them on a path to career advancement while motivating them to develop new skills and capabilities. For example, you might set up a business-oriented track for your manual testers, while having separate tracks for your Scrum Master and those on the team who are more engineering-focused.
Make sure that you offer internal training to help team members advance their careers down whatever track they happen to be on. If you have a large team and can afford to have a trainer come onsite, that can be a very effective option. If not, you have team members enroll in online training or send them to in-person schools such as Big Nerd Ranch (where, it’s worth pointing out, you might also be able to recruit more talent). Even something as simple as hosting lunch and learns where team members have the opportunity to hear from each other and share their expertise can be incredibly effective.
Beyond training, you want to foster a culture of transparency, trust and responsibility, where everyone can thrive. In particular, try to create an environment where your team wants to “shift left” because they feel invested in the success of your products and therefore have a strong sense of pride and ownership. That way, they’ll be much more motivated to strive for perfection.
Team building activities, particularly ones like game nights that don’t leave a corporate training aftertaste, can also go a long way toward creating a better culture. Writing for DevOps.com, Patrick Roach suggests activities like game nights that won’t leave a corporate training aftertaste. “Game nights (or days) are a great place to do some socializing, have a necessary structure around that socializing, and encourage creative problem solving either through cooperation, or competition,” Roach explains.
Another small but important step that you can take toward creating a positive culture is ensuring that you’re using one tool to track all of your quality assurance metrics. Doing so saves time and the hassle of having to manually create reports, which, in the world of testing, can go a long way toward keeping team members productive and engaged. If your team is spending a lot of time gathering reports and managing up, it’s worth looking into a reporting tool that can streamline these processes.
Building a team that works
Building a successful quality assurance team capable of meeting the demands of testing your software is no small feat. You have to set clear goals, find the right people, and then nurture your people and create an environment in which they can thrive. If, however, you take the time to clearly define what your definition of success looks like, hire the right mix of talent to address all of your testing needs, and provide your team with the right tools and incentives to help them and progress their careers, you’ll be well on your way to build a testing team that performs under pressure.