The Best Ways To Empower Your QA Team
Having a good team of quality engineers in your engineering department can help your company get upper hand advantage over your competition. Great technical skills, attention to details, communication and presentation skills, alternative ways of thinking, ability to adopt new skills fast, these are all valuable skills in software development team. A skillful team lead can teach all these skills and your team members can master them. How exactly a team leader can empower QA team? How to make them more effective, motivate them and improve their skills? In simple terms, how to build a QA team?
Starting point – open communication
As a team lead your job is to pave the road for your team and get out of their way. They must know they can come to you and to know that it is fine to: 1. ask for help, 2. say that they made a mistake, 3. share an opinion/knowledge, 4. say when something doesn’t feel right.
Asking for help is not a sign of weakness
Everyone needs help. Sooner or later we all get stuck with our tasks. If you as a team member know that you can rely on your teammates, then you have no reason to worry. The trick is to know when to ask for help. Seeking help right away as soon as you get into some problem might be overwhelming for your teammates. This is why leaders should teach members of the team to try to solve the issue on their own. They should teach them where to find the answers and how to utilize them. Giving the answer to the question might sound like an easy solution but in the long run you want in your team someone who is able to say freely that he had hit the wall but he also tried solution 1, solution 2, solution 3 and none of it worked.
It is human to make mistakes
With asking help, you don’t want to wait too long to ask for help. You will ask for help once you have tried everything. Every minute you wait after this is a waste of time. Just like that, you want your team members to make some mistakes. The best way to learn new things is to learn from your own mistakes and sometimes from mistakes of others. Team leader should aim at allowing team members to make small mistakes. Fail fast and get feedback about what was wrong. In a work environment where we view mistakes as opportunities for learning instead of causes for blame, productivity thrives.
Sharing knowledge is the way to progress
As already mentioned, learning by making mistakes is the best way to gain knowledge. To make mistakes, you first need to do something, so learning by doing comes before making mistakes. One way to do things is to do them in isolation and keep your findings to yourself. However, team leader must encourage team members to work together and share knowledge among themselves. Pair testing, pair programming, post mortem meetings, retrospectives, synchronous code reviews, practicing Shift left approach are all great ways of sharing knowledge. Not only that, but these types of activities create greater bond between team members and additionally improve open communication in the team.
Team leader should not be sole source of truth
Being a good QA means among other things that you have critical way of thinking. You must second guess everything before you start your work. Just like that any information coming from your team leader should not be taken for granted. A team member who wants to make a change should be empowered to express and discuss his ideas. Of course, all parties involved must perform any discussion with mutual respect and share valid arguments. If we don’t adhere to basic communication principles of openness and creating a safe space for sharing opinions, the challenges to these principles would be significant.
Second: Create individual development plan
In previous paragraph we set grounds properly and exercise open and supportive collaboration and communication. To answer on how to build a QA team, it is time to create an action plan for each level in your team. As a team leader your job is to develop those competencies of team members which will result in them becoming high performers. There are several topics you need to cover with plan of things each level of engineers must know to progress to the next level. You can select the competencies according to your organization goals or maybe QA team has some specific needs. You are responsible for identifying the skills that need improvement among your team members. Some of the competencies as Robbie Falck defines them in his article and I agree with him: General skills, Bug tracking, Automation, Knowledge Sharing, Collaboration and Community Engagement. All this should be covered for each level of engineers in your team.
General skills
Under this section you should set tasks about general quality assurance knowledge which the QA engineers in your organization should master before reaching higher seniority level. Some of the questions you should ask yourself are: What the QA engineer must know about Quality assurance on basic level? What is the required knowledge for the medior level engineer? Senior, Team Lead, Test Architect? How the engineer on this level should affect the quality process in your company? How should the engineer approach problem solving? What about time management skills?
Bug tracking
This competency should enhance the engineer’s ability to manage defects in the tracking system. It should cover everything from high quality bug documentation, over investigating production found issues and conducting root cause analysis for these issues to improving the process to minimize the backlog. This part should improve your team’s skills so they could work towards finding the best metrics to analyze the bug handling process and make it more effective.
Automation
Automation is the key concept in modern development teams. It goes beyond the QA team and therefore QA engineer must be facilitator of best practice in order to achieve the highest quality of the product. How much of a coding skills your QA engineers must possess? How to enhance those skills? Are they able to offer expertise in creating testing strategies across the team? How to utilize the entire development team to achieve test automation in CD process?
Knowledge sharing
Knowledge sharing in software development and continuous learning is a must in fast paced environments. Sharing of best practices and knowledge in general is two way street. Junior engineers should be encouraged to learn new things and ask as much questions as possible to improve their knowledge. Senior engineers in the team are required to share their experience and constantly challenge the way juniors think about problems. In this section we must answer the question what is the process for sharing knowledge? Should we implement internal tutoring series, point the engineers to some valuable online content or maybe we should implement pair programming/testing as effective learning technique?
Collaboration
Soft skills are essential for good engineers in development team. It doesn’t matter if they are quality engineers, developers, architects or managers. Having good communication skills ensure closer collaboration with the team. Knowing how to communicate with people around you puts quality engineer one step closer to achieving high product quality. The team should foster open communication, build empathy in establishing rapport with colleagues, but they also need to simplify communication channels and remove any constraints which make communication difficult. They should also nurture mutual respect and avoid blame game. As you can see, in collaborative teams there is no room for working in silos, selfishness or egos. Remember that we were all once at the beginning.
Community engagement
How can the quality engineer affect wider audience? In software development, we as engineers only borrow knowledge from our colleagues and in this process our task is to grow that knowledge and return it in the flow again. As learning is cyclic movement, we run the same way in cycles: gather knowledge, improve it, share it, repeat. It is a constant cycle and the only sustainable way of making the industry better. In the process of gaining and sharing knowledge it is essential to engage with the community. We learn from the community and we share our knowledge with the community allowing the community members to also improve our findings and share it further.
Have you built your QA team already?
Teams of people are entities made of individuals of different backgrounds and characteristics but leaders must think of improving the team cohesion. Having standardized starting point for team empowerment gives us an idea where to start and how to handle the entire process. There is no universal solution in working with teams so this plan is something that should be taken with utmost caution. Each team has different needs, just like individuals working in the team and the leader’s job is to recognize those needs and work towards making his team better today than it was yesterday. How to achieve that – how to build a QA team? The answer is not simple or unique, but it can be found in between the lines of this article. Hint: It has something to do with communication.