You are here

You are here

Need specialized QA testing? Hire a generalist

Michael W. Cooper Head of Quality Engineering, Transamerica

As a quality assurance and testing team leader, one of the most important choices I make is deciding who to recruit and how to build my QA testing team. Should I hire in-house software testers or outsource quality to a third-party partner? Should I build a team of strong testing generalists or hire specialists?

There are no easy answers to these questions, and the decisions you make will depend on your circumstances, the industry you work in, the type and size of the testing project, and the business requirements that you need to meet. However, based on my  17 years of experience on the front lines as quality assurance and test leader at several large corporations, I can point you in the right direction with battle-tested suggestions about what works.

Recruit generalists broadly, specialists occasionally

While leading testing teams working in several different industries, with different technologies and in a variety of domains. I've recruited both specialists with specific domain expertise and generalists with a broad range of skills and knowledge. I've learned that it's better to work mainly with generalists and to bring in specialized testing personnel only for specific roles, projects, or tasks as needed.    

The profession of software testing is far more complex than most people think, and the distinction between generalists and specialists is not always clear cut. Is a QA testing generalist simply a low-level technology worker who didn't want to do programming, and so chose a path of QA instead? Not at all. The teams of generalists with whom I've worked are dedicated, smart, and tech-savvy and have a detailed understanding of the organization's business and market.

When hiring QA professionals, I look beyond the acronyms and buzzwords in the "technical skills” section of a résumé, focusing instead on such soft skills as the candidate's understanding of core business principles, ability to work in a team environment, and strong communications skills.

Every team I build consists primarily of well-rounded testers who are passionate about quality, practice, the discipline of QA fundamentals, understand the core principles of QA and have a clear understanding of how the end user interacts with the system. They're not so narrowly specialized in one tool, app, or technology that the team gets pigeonholed into doing things the same way every time. What’s more, by having teams of people who work across different aspects of QA, I can establish a better rapport with the rest of the organization, collaborate more closely with the members of development and production teams, and integrate QA into agile and DevOps practices with less friction.

Of course, you still need some specialists—QA testing professionals who have specific industry expertise, knowledge of different testing techniques, understanding of modern technology trends or applications such as, and proficiency in particular testing tools. But you can get those skills by developing them within your team of generalists or by supplementing with a few additional hires, contractors, or temporary workers.

When needed, you can also bring in a specialized testing service provider with a team that's skilled in specific areas. When you have a talented and dedicated group of testers, you can count on cross-training, support, knowledge transfer, and sharing of experience between your full-time staffers and contractors, helping your team grow and develop new skills.

Use partners to supplement industry expertise and domain knowledge

You'll still need specialists if you work in a highly specialized industry, such as telecom or healthcare, and need to carry out a large-scale QA project. When I led IT testing at T-Mobile USA, my team faced a mega-testing project that required a temporary, fourfold increase in the QA team. I supplemented our in-house QA personnel with resources from a testing services provider, Amdocs, that had the specialized industry expertise I needed.

When you are trying to quickly ramp up to validate over a hundred interconnected applications, it makes a huge difference when your testers understand the details behind provisioning a new customer, creating a billing report, or running batch processes behind the scenes to analyze usage data. The testing services provider I chose offered a team of testers who were all seasoned telecom QA professionals. We completed the project ahead of schedule, and the specialized industry knowledge provided by our testing partner was critical to making this mega-testing effort successful.

Bring on testers who already have expertise in your tool suite

During a project I led during my time at FICO, my team was asked to performance test a large number of applications that had come together as a result of several acquisitions. 

Because of the sheer complexity of the system, which served customers across several continents, we invested in performance test automation and hired one senior performance engineer with in-depth knowledge of the commercial performance testing tool suite we were using. Not only did this approach prove successful, but that one expert taught other technical testers how to use the new tools, and helped us establish a FICO performance and automation testing center of excellence that was successfully leveraged effectively across business units

Resist the urge to hire too many specialists

Even though today’s application environment is increasingly diverse and technologically advanced, it's absolutely critical to resist the urge to hire a team of narrowly specialized testers. Instead, assess the strength and skills of the testers you already have, focus on developing skills beyond technical and specific application knowledge, and look for other ways to help your team grow.

A good generalist has a broader perspective, understands your business, and can develop expertise in specific technology platforms, such as cloud-based applications or the use of a specific set of commercial testing tools. Someone who's an expert in, say, SAP administration, may have the narrow expertise you're looking for at the moment, but lack a deep understanding of testing fundamentals and business context for the industry in which you operate. Ultimately, it may be much wiser to train your testing generalists if you have an ongoing need for the specialized domain knowledge while supplementing with the temporary resources you need to complete a given project.

Finally, identify areas where you need specialized skills that need to come from the outside and determine the best way to acquire those skills. With the right focus, you can build an unbeatable team capable of facing any QA challenge.

That's my tried-and-true strategy. What's yours? Do you hire specialists, or rely on outsourcing? Can you find the domain and industry expertise you need from third parties, or are you developing it in-house? I look forward to hearing what's worked for you.

Keep learning

Read more articles about: App Dev & TestingTesting