Communication Tips in Software Testing

[article]
Summary:

Communication is crucial when testing software. How the tester explains the testing results can be more important than what those results actually are. But having all kinds of communication tools at hand means you have to select and practice the ones that are most effective for your project. Read on to learn some methods of and opportunities for communication.

Have you ever wondered why “communication” is listed on quality assurance job ads among the other required skills? “Knowledge of testing tools, testing principles, processes, scripting”─these are all plain and reasonable skills to include, but why mention communication? Is this something a software tester really should focus on?

I have seen communication (and its absence) make or break multiple projects. A great deal depends on requirements changes and schedule changes, but also in how those are communicated. How the tester explains the testing results can be more important than what those results actually are. A lot of testers see these challenges, yet the testing books hardly contain any chapters about how to communicate during testing a project.

It’d like to contribute something to the discussion based on my own experience.

General Communication Opportunities

Icebreaker: Before the team members start work, they should probably actually be a team. Some icebreaker or nonofficial activity can help get the group beyond the basic tribalism of their previous roles (developers, graphic designers, etc.) and start thinking as a team.

My advice on this is simple: have one. There are a host of icebreaker ideas available on the Internet. Some of them seem silly, but remember the goal is to get familiar with each other, start bonding, and build personal relationship with each other. Try to find out what’s important for the other team members─a lot depends on people’s motivation.

If it is possible and you have the budget for it, take your stakeholders and your team to a nonwork environment: play pool, go bowling, or organize paintball. Spend an hour doing something not work-related. This can help bonding and makes the communication throughout the project easier.

Chitchat: This is not as common in Europe as it is in the US. Still, if it is not overused, a few minutes of chitchat at the beginning of meetings can help establish a common sense of the working environment and boost the team spirit. Talking for even a minute or two about small conversation topics like sports games or weather changes can positively impact a team’s relationship and how people will work together.

Project Communication Opportunities

Project kickoff: Aside from defining goals, you also can use the kickoff to define project values, priorities, and team member roles, to avoid confusion and conflicts later.

Assertive communication: In cases when there are open bugs or critical issues, it’s really not important who caused them but rather how to fix them. The point is to get your software product ready, and you have to communicate how to do that. It’s very important not to hurt anyone’s feelings during this process. Make sure you practice assertive communication methods carefully and regularly.

Chat: By this I mean chatting electronically, such as through instant messages. A great deal of technical details can be shared on chat clients easily and in real time. It really helps if the chat client is set to save the conversation so you can search for particular details later from the chat history. Still, if you find yourself messaging someone when the person is less than ten feet away, consider standing up and having a conversation face to face.

Email: In my experience, email can be themost ineffective way to communicate. Emails tend to create a blame-shifting attitude, enabling people to give “I’m waiting for a response from Joe” as their status. While email may be helpful for reports or technical documentation, they are not really effective for status updates or to discuss important schedules or changes.

Furthermore, the higher you send the email into the management hierarchy, the less the chance of it being read will become. The reason for this is the cone of authority: As you go up the organization chain, managers have more responsibility and more people reporting to them. Senior managers triage work; they simple have to select things to skim or even ignore in order to go home at night.

Shared documents: If email is where documents go to disappear, then a network share or cloud folder is a place where they are at least discoverable, and to more people than just those on the email. Functions like change history and regular backups can be a huge help dealing with the huge set of documents.

Video conference: Organizing a video conference is a very easy yet effective method for meetings, and the tools (such as Google Hangouts and Skype) keep getting better with every release. Of course, you will have to prepare for them in advance to make sure your message is getting through. Here are some tips:

  • Check the calendars of the invitees so you can make sure they are available for the whole time of the conference.
  • Confirm that the microphone, camera, and connection work properly. Technical equipment can always go wrong, and even a service pack can ruin your settings. Put a placeholder for preparation in your calendar before important meetings.
  • Make notes for the meeting on a medium you prefer—paper, simple text file, or note client using a cloud service. Having the agenda jotted up beforehand can help you stick to the point and keep the conversation on topic.

Meeting minutes: If there have been problems with people forgetting the outcome of a meeting or arguing about it, considering taking down and posting minutes and action items.

Follow-up: Setting up a meeting a few days after major meetings can help motivate the action items being processed. Team members also can check the decisions made previously on these meetings and change them, if necessary.

Choose Your Weapon

Communication is crucial when testing software. Having all kinds of communication tools at hand means you have to select and practice the ones that are most effective for your project. Nevertheless, they can change project by project or year by year.

Choose your communication channels carefully and wisely. Even with all the bug-tracking systems and messaging systems available, personal meetings and walkthroughs are still the most effective ways to communicate your testing results. So if you want to make sure your message is getting through, organize a meeting and present your assessment there.

About the author

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.