We've established that managing a test team is a different ball game. It may not fit in within the boundaries of traditional management techniques, because of the mindset, environment and challenges faced by test teams.
Who is this article for?
This tutorial picks up from where the first tutorial left off. Out here we will discuss on how to have a happier test team. Whether you've been in this role or have been promoted recently, the few pointers below will definitely help in gaining some perspective.
Read part 1 here => Test Leadership part 1
What You Will Learn:
- Test team management techniques to be an effective test lead
- Skill #1) Have business knowledge and technical skills
- Skill #2) Effort estimation and effective assignment of work
- Skill #3) Try not to over commit
- Skill #4) Communication on all levels, interpersonal skills
- Skill #5) Personal qualities
- Recommended Reading
Test team management techniques to be an effective test lead
Skill #1) Have business knowledge and technical skills
- An organization generally puts out it's business goals which get translated from the higher levels of a management right down to each team and individuals. Test leads must have a good hold over the project road-maps, overall organizational goals, stakeholders and customer requirements. At any given point, they must be able to render the guidance needed by any test team member to help them understand what role he/she is playing in line with the project success and must empower them to see the bigger picture
- Most often, testers find that the test lead may not be able to fully understand the technical issues they face while testing. A test lead must possess the needed skills to be able to guide the testers with any tools, environment, systems, etc. and provide solutions to overcome any problems that they might be facing. In critical times, they must also undertake some work on themselves to ease the load of the team.
- Businesses are very dynamic in nature and many times new test items may be added right at the end of the release. Sometimes already tested items maybe de-scoped. At both such times, the test lead must guide the testers and enable them to look at scope changes objectively. This ability of the test lead to be able to guide the team technically and otherwise will help team members to rely on the test lead.
Skill #2) Effort estimation and effective assignment of work
- When a requirement document is floated out, the test lead along with his team of testers get to writing a test plan which would define the scope, hardware, software, features to be tested, schedules etc. Based on this a sizing estimate for the effort needed is made and appropriate work assignments are made.
- In a test team, there are certain senior people and some junior people. Careful assessment has to be taken by evaluating the interests of each of these testers. The assignment must be such that the piece of work they get must not only excite them but also builds on to their existing knowledge base.
- Another common problem in testing teams is – workload balancing. Heavy workloads are a part and parcel of test teams and constantly pushing your teams to work overtime can cause saturation. If a lead detects that there might be heavy workload which has to be covered by fewer resources, a suitable mitigation plan has to be put out early enough. In certain unavoidable situations, the team must be kept posted that it's an unforeseen circumstance and their willingness to extend would be greatly appreciated.
- Secondly, even though senior testers with their experience could cover a wide variety of line items, pushing on more work and responsibilities to them will certainly deter their interest towards completing the test goal. Take some calculated risks and assign challenging items to junior members. Their eagerness towards wanting to know and grow more can be instrumental in developing a team.
Skill #3) Try not to over commit
- Often test leaders, in their intention to highlight the skills of their teams, stress out their teams by over-committing. Now over-committing can mean a wide arena of things.
For example: if the scope of testing gets altered while the test team has begun testing, and it is deemed that the test content increases. At such times, when test leads are asked to provide their inputs on the sizing and the time needed to complete, a tendency is to overcommit that they can spend longer hours/weekends and “squeeze” the testing in the same duration without compromising on the quality. This not only sets a permanent expectation that the test team will always extend themselves but also forces them to make a lot of personal sacrifices.
- Certain other times, overcommitment can mean to set unreasonable expectations on the test team with respect to finding defects/ escapes. It's vital to understand the basic fact that testers are humans, prone to error. Hence setting excessively unrealistic targets of having negligible/no defect escapes is demotivating as testers will tend to feel responsible for any defect that might get discovered outside of the test team.
- Overcommitment can lead to a burnout. In the former case of test scope changes, negotiate the test schedule accordingly with the management. In the latter case, understand that nothing in life is error-free and setting such targets sounds awesome only in theory.
Skill #4) Communication on all levels, interpersonal skills
Communication whether is it's on email, phone call or on an interpersonal level should have been the first item on the list, but like it's said – save the best for the last. Let's take a look how this impacts almost every technical and non-technical aspect.
Learn how to disagree:
As a test lead, you're an interface between the management and the test team. There is really no “format” to disagree with either party, but it's essential to do it when the situation calls for it. Of course, there are ways to do it. When it comes to the testers, you need to take a more sensitive or softer approach. When it comes to the management, you probably have to make them see value in your idea than theirs with factual information.
A test project always has its set of challenges like environmental issues, management concerns with the test progress, understanding of goals between management and individual teams differs, interpersonal issues/conflicts within team members and between team members and the management. At such times it falls upon the test leader heavily to see light through these challenges.
Sometimes the top levels are not very easy to deal with and hence it's important to negotiate in a way such that the other party feels that their input has been considered. Likewise, a lead must be able to drive conflict resolution where both the involved parties feel that the mid-ground is something that they can agree with.
Encourage collaboration with development:
Often, a tester is seen to be frustrated when the development team rejects a defect which is a limitation. Although each of them is right from where they come from, this often leads to the “us versus them” attitude between test and development. The test lead should drive the test team to have a healthy and collaborative relationship with the development.
Two benefits that you will see:
(i) Testers understand the background of the feature much better with its limitations and
(ii) Developers understand how an end-user sees the code.
Reporting to upper management and email communication:
A big chunk of the test lead's time is spent in preparing status reports and reporting the progress to the management. A leader is a window through which the management team sees the test team's efforts, and hence he must have the ability to report information in a crisp and consumable manner.
The reporting must highlight the accomplishments of the testers very clearly, to enable management to appreciate that immediately. It should also depict the issues faced by the test teams, the series of things the team has tried or will try in order to resolve that and in cases where it's beyond their control, state that clearly – requesting the management's guidance in resolution.
Even when the test team's progress is not up to the mark, the lead must be able to instil confidence in the management that the test team is performing at its optimal quality to meet the deadline.
Needless to say, the test lead must drive internal meetings. These meetings would enable him to understand each tester's tasks, his current progress and issues hindering his progress. The lead should discuss the issues close to the root cause it and provide suggestions/approach on how to overcome these issues.
This forum can also be used to pass on appreciation or kudos to team members who would encourage them to perform better and motivate others. An occasional email in appreciation of their contributions is a very good idea to keep testers motivated to perform great!
Recommended reading => How to motivate Software Testers?
Team meetings can also make the test lead ensure testers have what they need in terms of the test infrastructure, clarity on a project, support from development for good defect turnaround time, etc.
Team meetings form a great platform to hold brainstorming sessions, the output of which can lead to innovations, process improvements in performing the daily job.
Apart from technical aspects, team meetings also enable the test lead to form a healthy relationship with his reporters. This can also prove to be a learning for him in turn, by regularly asking for feedback on how to manage better. The mantra is simple: You grow and I grow!
A test team in particular mostly comprises of diverse resources each with their own working style. Most test leads often make the mistake of trying to enforce a different culture in the team which might have worked well for him in the past. The fundamental rule is to let people do their thing unless it grossly hampers the project schedules.
During critical milestones dates- if it's required that the test team has to work late hours, weekends to meet schedules, giving them space and the freedom to work the way they wish to, is of prime importance. Have backups for everyone so that it's okay to let people take a break when they want. Also assure them that once the deadline is met, they could take some time off to recharge.
Especially in a mature test team where almost all resources have a considerable amount of experience and credibility, forcing certain management cultures would lead to open disagreements and arguments. Understand what the team does technically, make valuable suggestions and leave it up to them to take what they need to achieve the milestone.
Don't show up at their desk every now and then asking for a status update. That builds a lot of pressure on the person and a feeling of failure/resentment in case he's not able to overcome a particular issue on that day.
Make a second in command:
A primary goal of any leader must be to create torch bearers; i.e. create other leaders. That, in fact, is one of the most distinctive qualities of a good leader. With a junior member, while it is important to review what they are doing keenly, it would prove to be invaluable learning for them if they're allowed to own up to their role. For example, if they are stuck with an issue while testing, enable them to do their research, follow up with the development and drive it to completion independently, unless it's necessary to intervene. This would help them grow.
With senior members – involve them in key decision-making activities. Their experience can prove to be an asset, so exploit it well. Make sure they are projected as leaders in their own right, by delegating a part of your own responsibilities to them. Empower them to mentor the junior members by making a buddy system which will help both the members equally.
This probably should have been a bullet in almost every item here and a must have quality for any individual in the corporate space, let alone leaders. Whether it's preparing a report, giving a presentation, a review process, passing on appreciation, etc. having good communication skills is essential to express oneself effectively.
Recommended reading => How to write effective emails in QA team?
Skill #5) Personal qualities
At the end of the day, testers are human beings with feelings. If your team wants to bring out their best and extend themselves further because of your influence – consider it your biggest victory. See also => 16 characteristics of a great software tester.
- Being straightforward is a hallmark sign of being a good leader. Your team will be able to rely on you in terms of what information you share and makes you more approachable to them.
- Have no ego issues with respect to your position. If you've made a mistake, have no problems apologizing for it!
- Always share your credit with the team, because after all, you shine only if your team shines.
- Try to use “our”, “we”, “us” instead of I, you, him, or her. Instill a sense of mutual ownership.
- Show passion towards your work. For the team to feel passionate about their job and relate to it, the onus is on the test lead to radiate that energy.
- Enjoy yourselves even while at work. While most often there are team events and fun activities planned, there's no rule that fun has to be restricted to that one day. We spend a large chunk of our day together and things are stressful. Have tea, lunch together, have birthday celebrations, plan something impromptu. This will help strengthen the interpersonal relationships to a large extent.
Here's hoping the pointers above covered most of everything that leading a test team entails. Please do actively participate by sharing some of your experience and inputs by leaving a comment. Thanks for reading!