The importance of testers and testing teams has been established time and again. An application or product success is largely attributed to efficient and effective testing techniques which forms the basis for valid bug exposure. Goes without saying that great bugs are found based on the testers’ skills and knowledge, a keen eye and the dedication of the test teams.
A test team can comprise of individuals having varying skill levels, experience levels, expertise levels, different attitudes and different expectations/interests levels. All these different resources’ attributes need to be tapped rightly, also keeping in mind to fill in any skill gap if needed, in order to maximize quality. They need to work cohesively together, follow the test processes and deliver the committed piece of work within schedule. This obviously necessitates the need for test management most often performed by an individual with the role of being a test lead.
As testers, the work that we’re finally boiled down to do is a direct result of leadership decisions. These decisions are an outcome of trying to implement effective QA processes in addition to good test team management.
The article itself is divided in two parts tutorial:
- The first part would help bringing out the commonly performed duties by a test lead and what are the factors to consider while managing a test team.
- The second tutorial would highlight some key skills needed to be a good leader and some ways on how to keep a test team happy.
These two tutorials would not only help Test leads in terms of how and what to modify to get optimal results, but also experienced testers who aspire to move into leadership roles.
Test lead/leadership skills and responsibilities
By definition, the basic responsibility of the test lead is to efficiently lead a team of testers to meet the product goals and hence the organization goals that are derived, are achieved. Off course, however straightforward the definition of the role is, it inherently translates into a whole series of responsibilities for the individual. Let’s take a look at the commonly carved out responsibilities for a test leader.
Recommended read => How to build a successful QA team?
A test lead is most commonly responsible for the following activities:
#1. He must be able to identify how his test teams aligns within an organization and how his team would achieve the roadmap identified for the project and hence organization.
#2. He has to identify the scope of the testing required for a particular release based on the requirements document.
#3. Put out the test plan after discussions with the test team and have it reviewed and approved by the management/ development team.
#4. Identifying the required metrics and work to have them in place. These metrics could be an inherent goal for the test team as well as what is being testing.
#5. Identifying the needed testing effort by calculating the sizing needed for the given release and plan the effort needed for the same.
#6. Figure out what skills are needed and balance the test resources accordingly with those needs based on their own interests as well. Also identify if there are skill gaps and plan training and education sessions for the identified test resources.
#7. Identify the tools for test reporting, test management, test automation, etc. and educate the team as required to be able to use those tools. Again, plan knowledge transfer sessions in case required for team members for the tools they would use.
#8. Retaining skilled resources by instilling leadership in them and provide guidance to junior resources as and where needed which would help them to grow.
#9. Create a fun and conducive environment for all resources to make sure they have maximum throughput.
Manage the test teams effectively by:
#1. Initiate the test planning activities for test case design and encourage the team to hold review meetings, ensure the review comments are incorporated.
#2. During the testing cycle monitor the test progress by constantly assessing the work assignment to each of the resources and re-balance or re-allocate them as required.
#3. Check if there might be any delays in achieving the schedule and hold discussions with testers to figure out the issues they may be facing and strive to resolve them.
#4. Hold meetings within the test team to make sure everyone is aware of what the fellow team members are doing.
#5. Present the timely status to the stakeholders and management and instill confidence about the work being done.
#6. Prepare any risk mitigation plans in case there are any delays are foreseen.
#7. Bridge any gaps and differences between the testing team and the management and form a clean two way interface channel.
Recommended read => How to keep motivation alive in software testers?
Test management pain points
Although leadership can be mean a whole arena of things like power, knowledge, the ability to be proactive, intuitive, the power to influence decisions, it’s often seen that many a time even though certain test leaders possess almost all these qualities inherently, they’re still probably way off the target at managing their test teams effectively because of the manner in which they attempt to bring out these qualities.
Often in testing teams, although the leadership and management go pretty much together, they definitely do not mean the same thing. A test leader may possess all the leadership skills on paper, but that doesn’t mean that he can manage a team just as well. We have so many different policies set in place for test processes itself, however the art of management of test teams is often a grey area in terms of defining a hard and fast rule for management. Any thoughts on why that might be and how is any test team any different from other teams?
I think that it’s extremely important to realize that with a testing team using a management approach which is theoretically perfect and proven, may not always work well.
3 Important things to consider in order to manage test teams effectively:
There are certain facts that need to be taken into consideration in order to manage the test team effectively. Let’s elaborate this below.
#1. Understand the testers:
A tester’s job description is to find defects or bugs in software to improve its quality. In a team there could be testers who absolutely enjoy breaking the code by bringing in innovative and creative styles of testing. Needless to say, this requires a person to have skill, creativity and the kind of mind-set of looking at software quite differently from the rest.
With a significant amount of time spent in your job in your daily life and growing experience, test resources almost cannot breakout of this “test” mind-set and it becomes a part of who they are, personally and professionally. They look for defects in almost everything ranging from the product to processes, test leads, managers etc. Taking time to understand this mind-set of the test team is the first and foremost step in being able to device a reasonable test management approach for a test lead.
#2. Testers’ work environment:
The test team most often finds themselves dealing with high levels of pressure because of strict deadlines against the voluminous amount of testing they need to achieve with the given amount of test resources. Sometimes there could be a delay in the delivering the code to the test team or delay in acquiring the required environment or delay in fixing / verifying defects due to innumerable factors. All this, with no extension in schedules. In addition to this there could be a large amount of test effort needed, whereby insufficient or incomplete testing may directly raise questions on the quality of the product.
Even though test teams may flag certain risks they identify pro-actively, many a time this may not be looked at very positively by the management either because they may not completely understand the nitty-gritty involved or they may look at it as lack of skill level in test teams. Doubtlessly the test teams undergo high levels of frustration along with pressure to deliver on time. Gauging the environment the test team is frequently exposed to working in could be an invaluable input for a test lead/ manager for effective management.
#3. Test team’s role:
This is more so an aftermath of the two points stated above. After a lot of years in the testing domain, I have come to realize that no amount of testing is “complete” testing and uncovering “all” defects is a fictional phenomenon. So many times regardless of the large test effort, defects are found in the customer or production environment and termed as an “escape” from the test teams. The test team often takes the hit for such escapes and is asked to quantitatively describe their testing coverage to decipher if this field issue could have been caught during the test cycle.
Sometimes this causes a big letdown to testers regarding how their roles are portrayed to others in terms of their skills and hence the vision of that to themselves in the broader picture.
Understanding all these realities within test teams would help in level-setting the kind of management approach to follow, which means there would be a good chance of stepping away from standard and theoretical management techniques.
We will touch upon these techniques in the second part of this tutorial. So stay tuned! Or better still; do let me know what you thought of this tutorial by leaving your valuable comment.
About the Author: This is a guest article by Sneha Nadig. She is working as a Test lead with over 7 years of experience in manual and automation testing projects.