By Nipa Shah
The Agile frameset ensures that the team takes quality measures from the outset. In the early phases, testers probe the feature and its use cases. During the analysis of epics, they learn more, debate the status quo, and help develop the user stories keeping the business and technical perspectives in mind. Finally, testers work with the team in design and implementation by bringing testability, usability and edge cases to the table.
A tester's voice matters in the whole process, as a tester brings to the table the perspectives of a customer as well as that of an engineer whose mindset is to find loopholes and probable problem areas from a business as well as a technical aspect.
When testers initiate and encourage discussions, light can be shed on the finer details of the backlog items, enabling engineers to focus their efforts. Well formulated questions elicit good discussions and answers. When the testers explain their strategy clearly, developers can help ensure the code's testability and can also write more targeted unit and integration tests. All of these measures contribute to well-tested code.
This article describes 10 example situations where clear communication skills from testers can make all the difference.
1. Testing Begins At Analysis And Design
In both waterfall and agile environments, the analysis, design, and planning meetings require thorough questioning of the problem statement as well as the proposed solutions. The goal is to ensure the best possible resolution after considering everyone’s knowledge and experience. It is vital that everyone clearly understands the vision and forward path.
In this setting, the tester will need to communicate with people who have a broad range of priorities and backgrounds. This is the right time to voice observations, ask questions, advocate for the customer, raise legitimate concerns, and make recommendations. Some points a tester might bring up in this situation are:
- Specific past experiences testing a similar product by presenting what was easy versus what was challenging, especially if it was unexpectedly so
- Special use cases or user stories – address accessibility, testability, edge cases, and other pertinent items
- Usability and design thinking
- Test approaches, automation framework designs etc
2. Testers As Customer Advocates
Testers always need to put themselves in the shoes of the user of the system. It helps bring in a perspective of what a user needs and what actions they may perform.
A lot of these aspects are covered in an end to end test case planning exercise. Several aspects of testing cannot be covered by simply stepping into the customer’s shoes, but it's valuable to have customers test the system out themselves so that their own expectations from the system are verified.
A tester needs to be a customer advocate, and can do so by:
- Investigating a customer-reported defect
- Managing customer expectations relative to when a defect will be released
- If the defect prevents a customer from doing something, advising the customer of workarounds until a fix is available
- Referring to existing technical documentation when appropriate or advising the writers of a needed change
- Advising customers when features are available for beta test
Good communication skills can make expectation management and release planning smooth and crisp.
3. Voice Of Quality
An Agile team is self-organizing. With that flexibility, a tester can make quality recommendations to their teammates in any of the following areas:
- Code reviews
- Test strategy communication and discussion
- Test plan/case reviews
- Reviewing/optimizing test processes
- Release planning
- Working with technical writers for product documentation
- Ensuring adequate code and test coverage
- Pushing back on late QA handoffs
- Raising concerns
- Process review and improvements
4. Sharing Of Knowledge
It is rightly said that not every knowledgeable person can be a teacher. The make or break point is frequently the quality of communication. How you make concepts, content and other test strategies clear and simple to understand, is important. It affects how you coach junior team members into understanding best practises as well as how you would do a hand-off to a new test team member who will partner with you to share the workload.
5. Feedback Channel
Feedback on any risks realized much later in the SDLC, or any red flags encountered that could jeopardize a release plan, testers must effectively and timely communicate this sideways to peers - developers and test mates; as well as upwards to the test manager and other stakeholders. This feedback channel is an important one when such information can lead to some crucial and tough decisions to be made.
6. Customer Communication
At times, testers communicate with external customers about defect investigations, code fix time estimates, release plans, and other situations. The style required here is more formal, more functional, and much less technical. Be brief, ultra-clear, and to the point. Skill at customer communication comes with coaching and experience.
Test engineers may find themselves documenting use cases, usage patterns, and edge case scenarios. They are also the best resources after the product managers to partner with the technical writers on the team to help elicit these use cases and best practises implementing and using a new feature. Good written communication skills help immensely in all these different small but important aspects of a product.
8. Asking Good Questions
One of the most important skills to get the right answers or information quickly is to learn how to ask good questions. Questioning techniques can be improved and this skill is learnable. As this article rightly puts it, ‘you can gather better information and learn more, you can build stronger relationships, manage people more effectively, and help others to learn too.’
9. Coaching And Leading A Test Team
As testers move forward in their careers, be it the individual contributor or management track, coaching and leading junior team members becomes crucial. This becomes evident when the team is growing or when a new feature is underway: it eases planning, devising a test strategy, eliciting feedback, and sharing plans and best practises.
Collecting ideas, feedback, and being able to hold good test discussions are some of the skills that will make your team appreciate you as a lead.
10. When It’s Time For Pushback
When an organization has not yet moved to or implemented Agile fully, the testing team often becomes the gatekeeper of release quality. For better or worse, the decision of whether a release should proceed often rests with testers rather than the entire team or a senior decision-maker. This situation often entails firm but polite pushback.
For Agile teams, this decision ends up being a team decision, which still means that if there is a risk and a push back is needed, test engineers will need to back the pushback with data, well drawn reasons and information. This would involve a clarity of understanding of the issue at hand, the risk, and analysis and consolidation of the underlying reasons.
Guidelines To Improve Communication
Some ways to improve your communication:
Be aware of opportunities to speak up in team discussions, status updates, or other such conversations - Use these avenues to improve and practise acquired communication skills
Be aware of the audience you are communicating with - Your communication strategy and choice of words will change based on the audience you address. Being aware of this helps one steer discussions and keep things focused. It also helps make meetings efficient and presentations effective.
Learn how to ask better questions - As mentioned above, explore various online talks, presentations and articles on how to ask better questions. It is a difficult skill to acquire, but so worth it!
Listen more - You can communicate effectively only if you know what topic you are trying to address. For example, only by listening will you understand the detailed information and severity of a defect. This will in turn help ensure that you are aware of the expectations.
Keep your language simple - Technical and business jargon are commonly used and understood in the software development teams. However, misunderstandings can still arise. Especially when you are working with cross-functional teams or groups that may or may not have the same context. Of course, using standard technical and business jargon makes sense in our field - it all eventually boils down to the audience you are addressing. But as the phrase goes “Explain like I’m five" - Do this when possible, and elaborate further once you know a basic understanding has been established.
Analyse and consolidate before you present - This will make your content and message precise, and thus much more effective and well thought out. Apply this technique in presentations, demos, and status updates.
Be fearless - Don't shy away from any form of communication. If you don't share information and ask questions, it will only slow down your work and eventually the team. No question is a dumb question and no point is useless. Have the confidence to ask, demo, point, and discuss.
Know your stuff/Do your homework - When what you share is backed up with data, facts and observations you can refer to, your ability to clarify and elicit becomes more powerful. Use this ability to your advantage.
Continuously improve - Seek to improve yourself if you are one of those who isn't naturally blessed with good communication skills. Practise makes perfect… or rather close to perfect at least!
Get feedback - Getting feedback from trusted people within and outside of your professional circle can help you steer your improvement efforts in the right direction and give you a boost when positive feedback begins to flow.
You Might Also Be Interested In:
- 3 Tips To Help Testers Ask Better Questions - Katrina Clokie
- 10 Great Questions from Tester to Architect - Ash Winter
- Psychology of Asking Questions – Iain Bright
- The Art of Asking Questions – Karen Johnson
I am Nipa Shah, currently working as an Engineering Team Manager at Oracle Inc, California.
I come from a quality background myself spanning roles from Test Engineer to Test Manager and then to Team Manager where my team consists of both Developers and Test Engineers.
While my work now revolves more around people and processes, my approach to everything stems from a quality/testing mindset.