It’s no revelation that communication is an area where one size does not fit all. Therefore, our Quality Assurance (QA) Department tailors our communication processes to work according to the requirements of each client, mobile solution, and engineer.
This is a strategy to improve productivity and effectiveness. Imagine if a client or engineer had 20 assigned tasks to read or fix; if they needed to talk to a QA member each time, they would be wasting time and resources instead of actually working on a solution. This is why good communication is crucial to development.
How do we ensure our communication is effective?
Client-Tailored Communication
While we highly recommend working with Pivotal Tracker (we use it for all internal activities) to communicate feedback with external clients, we’ve had experience working with all sorts of project management and bug tracking software, such as BitBucket and JIRA.
Typically, if we’re hired purely for a QA engagement, we tend to receive builds of mobile solutions that are extremely close to launch. Since this is the case, we report every single bug or flaws that we find. That’s certainly not the case when we’re communicating with our own engineers, though – and why is that?
Engineer-Centered Communication
With our weekly iterative development cycle – a new build of a mobile product is released to QA each week – the initial builds usually have some flaws. However, the nature of this cyclical process means that we only need to report the most crucial functional issues in the first couple of weeks of development. We check-in regularly to see when we should be reporting a wider scope of bugs.
The last thing we want to do is overwhelm them with feedback; instead, we message them on our internal instant messaging client as soon as we’re done our testing and book some face time with them on the same day. This means we can demo the bugs to them directly and explain the problem much more clearly.
When we’re communicating the stories, we take care to tailor the message to each developer’s preference. For example, most developers prefer that we are extremely clear on what the app is actually supposed to do, and compare that to what the app currently does. Some prefer to receive in-depth descriptions that explain each issue precisely, while others simply want to know which section it happened in and proceed to find it themselves. The key is to discover these preferences before the engagement, and have the QA Lead ensure the rest of the team tests using this format.
Organization facilitates clear communication. One trick we use to enhance productivity: we use labels in Pivotal Tracker (essentially, categories) so the developer can batch process all bugs in specific areas of the app sequentially. This minimizes the productivity costs of multi-tasking (e.g., the time and energy spent switching between tasks, figuring out where you left off, or trying to recall an idea).
End User Testing
Last, but certainly not least, our QA team often performs end user testing. This is a much less formal method of testing and doesn’t focus specifically on function or design; rather, we use it regularly and naturally, and examine what about the app frustrates us, and how we can improve it.
A simple example: when we were building a video player for a mobile app, one of the requirements was simply to have full-screen functionality and a button that toggles it on and off. However, when we were testing the app, we realized that it didn’t feel natural to always push a button to go full-screen. Instead, we implemented a few different ways of activating full screen, which would make it more intuitive. In addition to the button, users could double tap the video, or rotate the screen horizontally, to activate full-screen mode.
This means putting ourselves in the user’s shoes and dogfooding our own product. Additionally, this exercise also means we are able to learn to be more empathetic and understanding of other’s perspectives – another key to great communication.
Closing Thoughts
Communication is essential to reinforce effectiveness. We aim to minimize the amount of time clearing up misunderstandings, or re-articulating earlier thoughts, so we provide clear and effective communication. Once all parties start doing it, it’s easier for everyone to get through tasks with fewer attempts and in less time. While the tactics we choose may not fit directly into your current workflow, the principles are the same: tailor your communication to the receiver, organize your thoughts, and exercise your empathy.