There is a clear link between successful software development projects and their QA process. With a well-structured QA process in place, there is a reassurance that the product or service has been through a rigorous process before it reaches the end-user. For some businesses, bringing this team and process in-house might be an option. But if you’re starting from scratch, where do you begin?
Setting up a new in-house QA team can be a daunting task and there is no one definitive step-by-step guide to getting it right however there are two key areas for consideration that will ensure you maximise the investment – people and processes.
In part one of this two-part blog series, we’ll share what you need to think about from a people perspective. In part two, we’ll drill down into the processes.
What size should an internal QA team be?
There is no universal formula, the size of the team and the roles required will depend on the specific project, product complexity, and business goals.
If you’re delivering a complex project, this could require multiple testers to complete the project on time. It might involve testing across a wide variety of devices, require the use of automated tools, or have time constraints, all of which would benefit from multiple testers to get it completed.
Alternatively, if you’re looking to test regular product releases, you may need a QA team that supports agile development.
A mature QA function will usually consist of layers of resource. A dedicated management layer ensuring delivery to specification, time and budget; a test analyst layer delivering the day-to-day planning, execution, and verification tasks.
Let’s look at the different types of roles that typically form part of a test team:
Test Manager / Project Lead
- An excellent communicator who is responsible for the management of the delivery team
- Ensuring activities are completed on time, to specification and budgetary allowance
- Stakeholder management, representation on calls, general communications
- Providing regular written reports to keep stakeholders informed of progress
- Responsible for determining whether functionality and design has been delivered to specification
- Writing and executing manual test cases
- Exploratory testing activities
- Functional and compatibility testing
- Regression testing support for iterative builds and product support
- Issue verification following developer fixes
- Writing bug reports to specification containing information on each issue that is found
- Documenting actual vs expected results
- An individual with specific domain knowledge, and a focus on a particular testing discipline
- Capable of delivering advisory, management and execution
- May have specific industry certifications
In reality, the function may need to start smaller with just one test analyst and the management layer absorbed into the existing team. Unless you can find a great all-rounder, who can take on the role of both analyst and test manager and can slot into the development team with ease.
What skills should an internal QA team have?
Once you’ve defined the size and structure of your internal QA team, you need to find the right people.
While different roles will require specific skills and knowledge there are certain technical skills that are essential for any QA professional. A good knowledge of test tools, technologies and processes is vital. And a strong understanding of the software development life cycle (SDLC) will ensure that development and testing activities are aligned.
While these technical skills are important, so are soft skills. A curious mindset, critical thinking, good time management and communication skills are just a few key attributes a tester should possess.
No matter what team size or skill sets you set out to assemble, by defining the skills of each team member and assigning tasks based on these definitions, you will maximise the effectiveness of your test team.
However smaller teams can have limitations; one tester or a small team of testers are unlikely to be able to cater for a full range of test specialisms. A single tester can be limited by their existing skillset, their previous experience and knowledge of a product they are overly familiar with which can all potentially lead to software issues being missed.
Managing specialist testing, peaks in demand and interruptions
New policies or customer requirements could trigger the need for accessibility testing or a penetration test. A need to deliver product releases more frequently and to reduce reliance on manual testing could lead to a requirement to hire an automation specialist. Knowing how requirements for specialist testing will be handled is key as an internal QA team matures.
To address this, you could plan to upskill your team or hire specialist test analysts, but consider if it feasible to train team members within any specific time frames for delivering the test effort or even if there is value investing in a skill set that will not necessarily be used day-to-day?
The nature of software development means there is likely to be peaks in test activity and quieter periods when development activity slows down. Requirements might ramp up at short notice in line with a product launch or subsequent release dates and there may also be times when the testing requirement decreases.
Planning is an important part of an effective test strategy and will help to identify when these pinch points might occur and provides an opportunity to set out ways to address these.
Hiring full-time staff in a hurry may not be viable. Recruitment, onboarding and training may take months to complete, and this could impact deadlines and growth opportunities for the business. You may consider hiring a freelancer or working with an external software testing partner – enabling you to increase not just team size as and when you need it but also the breadth of specialist skills and experience that can be brought to a project.
QA can be successfully handled in-house but getting a team in place is only one step. Defining your strategy is vital – are you testing iteratively throughout development or bringing it all together at the end? Knowing how your team will be working will allow you to assemble a team that is structured to overcome any challenges you might face.
Planning and the ability to review and adapt are key to success regardless of how you set up your team. In part two of this series, we’ll explore how documented processes will ensure that your team is efficient, robust and measured.