Much is expected of today’s software development teams. They are expected to be organized across roles and groups, be productive and professional and work together incredibly closely, every single day. These teams might work remotely within the U.S. or globally, with the expectations that they will work productively regardless of the role or team location. It’s both a challenge and a worthwhile skill to collaborate effectively in this environment.
Before Agile, DevOps and QAOps, it was common to see developers, testers, UI/UX designers and product managers all retreat into their corners. Designs and code flew back and forth over the proverbial wall, eventually reaching QA for testing. Product managers moved on to the next project and simply hoped the designs and code they approved made it into the released product intact — or at least mostly intact.
In most places, that doesn’t fly today. Development teams must continually push and pull ideas back and forth between all team members. Team members meet, check in and bring up any issues or blockers on a daily or near-daily basis. As they face tight iteration schedules, team members must work closely together with strong, clear communication to collaborate effectively.
Easier said than done. Read along to learn how to work within a development team productively as a software tester, and discover how to bring your best professional self to the table every working day.
Mind the team construction
Software development teams typically include testers, developers, product managers or owners, DevOps engineers and UI/UX designers. Working with a team of varied professionals is both exciting and stressful. There are so many things to learn and so many opportunities to contribute to the quality of an application.
Here’s the reality: It’s difficult to work with some people. As a tester, developers can sometimes be gruff or inapproachable. Designers and product managers might not value your opinion. Product team members tend to focus on adding unique options and styles, which often aren’t possible right away — perhaps within an iteration or two. Testers can be seen as negative and pesty team members who always ask questions, send messages looking for help or constantly enter bugs to review.
Working on a team can be a daunting and exhausting daily experience for testers, especially if their work is marginalized. Add in having to switch teams at random, and you have a recipe for trouble in paradise.
So, what are ways to cope effectively and exceptionally perform your testing responsibilities? How can you work with a variety of personalities and be a productive tester?
Adjust to work personalities
It isn’t easy working within a team — even a small Agile development team. Working productively within a team means developing a professional work personality and forming work relationships. You don’t have to be everyone’s best friend, but you do need to work in a positive, team-focused, professional and respectful manner.
If you have trouble working with other personalities, you must develop interpersonal skills alongside your technical skills. If you can’t work closely and professionally with others, there are other talented individuals who will — that’s the reality of working in a global software development job market.
The first step is to build a work personality that can work with team members who act reasonably and with integrity. Your work personality must be both calm and assertive for increased productivity. Calm means you approach issues with others in a logical manner. Assertive means you address negative situations directly, immediately and in a professional manner. Your work personality is like a persona you use when dealing with team members, whether you sit together in an office or connect remotely across the globe.
A work persona focuses on getting high-quality work done on time — and within a team setting. Some situations might require management or leadership intervention. For example, if a team member bullies others or acts unacceptably hostile or violent towards another, the occurrence likely requires upper level intervention. Even in these sometimes volatile situations, a calm perspective goes a long way.
Manage the power dynamic
Every team has a power dynamic. It’s human nature for some to lead and others to follow.
In most teams, there are typically one or two dominant developers, who tend to push their ideas onto the team relentlessly. You might have two dominant developers with opposing opinions that cause a constant stalemate during design discussions and code reviews. Other team members usually follow the developer they believe provides the right direction.
Developers tend to have the most power in the group, unless there’s an architect or dev lead on the team. The rest of the team tends to prefer one or the other’s viewpoint during conflicts. So, how does the team get past stalemates and make progress? If you think some team members are intimidated by those holding the most power, consider holding an anonymous vote, which doesn’t require standing up in a conference room and explaining one’s position.
As a tester, you’re likely not holding the most power. However, you can be prepared to influence others with lists of pros and cons for each idea that you present either in written form or live in a meeting. Remember to be calm, assertive and respectful while making your point. Next, choose a position, and if your side loses, take it gracefully. Work towards the chosen path.
Despite the sometimes unbalanced power dynamic, a tester needs to thrive within a team, not just survive until you’re reassigned. Participate as actively as you can, ask as many relevant questions as possible, and don’t be afraid to make decisions.
Tips for working with developers
Developers are not gods. They are programmers who think in black-and-white logic.
To create working code, fix defects and design new code, developers must also be creative. Don’t fear them; learn to work with them.
While developer-tester collaboration is a complex and constant dynamic, there are some ways to approach the task. Software testers can develop positive working relationships with developers by:
-
Testing well, deeply and frequently
-
Doing your job and being prepared
-
Trying to find the answer before asking questions
-
Solving your own issues as often as possible
-
Being ready to actively participate in reviews, design discussions and team meetings
-
Having researched opinions and voicing them
-
Respecting a developer’s time and focus, such as refraining from surprise visits or constant messages
-
Showing interest in learning more
-
Pairing up with a developer to learn how application code functions
-
Avoiding confrontation if the time or mood isn’t ideal
-
Learning a programming language, such as Javascript
-
Working to understand the code at a basic level
-
Avoiding the blame game with bugs or defects
-
Answering developer questions on application functionality in detail
Tips for working with the product team
Product managers and designers make big contributions to the team. Don’t minimize their roles in software development because they don’t code. Coming up with requirements, managing user stories, dealing with backlogs and working with customers is no joke. Product managers wear many hats in a software development team — they know a lot of important customer information.
As a tester, work with the product manager and designers actively to better understand user needs and requirements. After all, ensuring a high-quality user experience is part of your team’s responsibility. Testers can develop positive product team working relationships by:
-
Testing well, deeply and frequently
-
Reading story descriptions and requirements carefully
-
Asking questions about anything you don’t understand
-
Participating in reviews, design discussions and team meetings
-
Reviewing documents and designs
-
Preparing before voicing your opinions
-
Showing interest in learning more
-
Pairing up with a designer to find out methods to improve the customer experience
-
Volunteering to help with UX testing and design when time allows
Software development teams must work together professionally and equitably to be productive and produce high-quality results. Hone your skills at creating a professional working personality. A professional work persona helps to create solid, honest and respectful working relationships within teams. Treat team members with professional respect, and remember all team members are human. Humans make mistakes and have bad days, weeks or even months. Work together and you’ll become a highly productive QA tester on a productive and successful team.