7 September, 2020
There’s no need to elaborate on the importance of communication when it comes to software project delivery. Ask any Product Owner or Project Manager what the most important part of developing successful projects is or what’s the most common cause of problems in project management. Majority of them will give you the same answer – communication. From the article below, you’ll learn some good practices which can improve your remote communication culture.
Communication may be an issue especially in some remote environments. Lack of adequate remote teams communication culture is often the cause of many problems, and at the same time, many people work in remote environments without even acknowledging it. The truth is that if at least one member of your team works remotely – the whole team is remote. Taking into consideration the fact that many of your clients don’t work in your office, you might even have a remote team with all the actual team members present in the office.
Communication tools should be the core priority for every Project/Product Manager and your remote team collaboration culture can define the outcome of the whole project. Below, you will find a few examples of the most common problems coming from poor remote collaboration and tips on how to fix them.
Problem 1 – You hear “I didn’t know that!” a lot
The problem of someone not knowing things they should know may be caused by two reasons. Either they didn’t receive the information in the first place, or it was lost amongst other information. Both are extremely common in remote environments and often lead to delays and emergency calls. Luckily, there are a few things you can do to avoid these situations.
Make sure you have the highest transparency standards possible
Transparency is the key for effective remote team working. Don’t allow a situation when someone in the team is uninformed. Not only does it pose a serious risk, such as the ‘I didn’t know that (and I should)!” reactions, but it also rips you off opportunities to hear everyone’s input. One might think that if they have a problem with a database you should talk directly to the backend developer, and you might be able to solve a problem within 30 minutes. But what if you texted that on a team channel, a DevOps Engineer noticed it and had a solution on hand? Or perhaps your frontend developer had been in a project with similar problems before and has some tips? You never know! And you’ll never know if you don’t try. The team should also understand the context of the whole project, not only some of its areas. You should avoid private messages and small groups when it’s not essential. In the long run, they do more harm. In short, keep everyone in the loop. Each team member should have access to (almost) everything and you should use shared chats/mail groups as often as possible.
Limit noise when communicating virtually
It’s easy to overlook something important in between 200 messages sent on a chat within the last hour. This is also the reason why many people prefer to handle things on private messages rather than on groups. The good news is that it can be managed as well, all you need to do is to make sure that communication with remote teams is properly sorted around different topics. For example, if you use Slack, you could focus more on utilising the “Thread” functionality rather than sending everything on the main channel. If that’s not enough, perhaps you should consider creating a new, theme-specific channel. Depending on the size of the project, I sometimes have dozens of channels, such as “important”, “small talk”, “DevOps”, “team issues”, “bugs & problems” and so on. It enables separation of issues and if there was a lot of communication recently, I know that I check “important” first, and “small talk” last, rather than having everything mixed together. People often don’t like having many channels as if that would force them to use chat more often. But even in your personal life, you probably have separate business and private email accounts, right? Does it make you receive more messages? No, you just have them separated. If the team is going to produce 300 messages on 6 different topics, they will do this anyway. The only difference is if you’ll have it all together in one channel or distributed thematically.
Always write a summary. Even if it’s a 1-minute long call.
Even if you share common tools and communication channels with all the people in the virtual team, there are still meetings and calls – crucial for effective communication. Not only may someone miss it from time to time, but sadly, sometimes people don’t pay attention during these. This is why it’s crucial to always write a short summary of the discussed topics and decisions made. While remembering to write a summary after a team meeting is relatively easy, the hardest part is to remember to write summaries of ad-hoc communication. For example, you are in the kitchen and your co-worker mentions a change in a plan or you have a critical problem and have a quick 1-1 call with a teammate to discuss the problem. Always write the output to keep everyone in the loop, even if it’s one sentence after a 2-minute long call. Seems like an overkill? We have once killed the production environment at 7 PM, just because I hadn’t written an output from a 2-minute call with my developer and communication was lost. One quick message would save us a lot of troubles.
Problem 2 – You think you agreed on one thing, but someone else expects something different
One of the most painful feelings in the world is when you work hard to deliver something, to satisfy your teammates and customers, and in the end, you hear “but I didn’t ask for that” or “it’s not what I expected”. Below, I present some tactics that can help you avoid those situations when you are communicating with remote teams.
Remote team tools. Agree on Single Sources of Truth
At some point, it’s easy to get overwhelmed by the number of tools and remote communication methods. It’s a very common scenario, when you look at the documentation or any other file and think “hmm, something’s missing, on the last call we discussed something else”. The worst situation is when you have one file – for example a project scope document with information regarding things that need to be done and Jira tickets with contradicting information. Which one is right? You can either guess, investigate update dates or ask around. All these create needless confusion though and in a remote environment – also delays. This is why it’s important so that the team agrees on a single source of truth, maximum of one source per problem. This is your Holy Grail of instructions and it must always be updated, and if other documents/conversations contradict it, you don’t care, you refer to your source of truth.
In software development there are different tools for remote teams. For example Jira is often the single source of truth regarding the scope. If a scope is discussed and changed on a call or by email request, it is immediately represented in the ticket description. There may be different sources of truth, one size doesn’t fit it all. For example, we have our technical documentation with more general information on Confluence rather than on Jira. Just make sure everyone knows what to refer to in which case and you won’t be overwhelmed by too many sources of truth. Thanks to this, people know exactly where to find necessary and most current information, without browsing through channels and emails to check if they missed something. Whenever there is a confusion or disagreement, just refer to your single source of truth. While it might be annoying at first, to update it with each, even the smallest change/input, over the long run, it will save you tons of time and energy.
Shorten your feedback loops
Your feedback loops should be as short as feasibly possible. The best way to do this is to report regularly. For example, if you are working on design/frontend work, it is a good practice to show the results every single day. It’s easy to fall into the trap of thinking “it’s not done yet, it looks ugly, I’d rather show it to the client when it’s done”, but then you rip yourself off a precious feedback opportunity, and it’s better to get comments while the work is still in progress rather than when it’s already done. Same for the business issues, if you track the budget and timeline of the project, don’t update the stakeholders weekly, or worse, monthly. Give them a snapshot of the situation every day, and perhaps a more precise/analytical report weekly. If you have a live tool, such as a Google Sheets spreadsheet, a quick daily reminder to actually check it might be useful. There’s no golden rule. Each stakeholder is different and there’s a fine line between having a short feedback loop and literally spamming and overloading people with information, and it’s important to distinguish that. However, in almost all cases, while over-communication is not a good thing, it’s definitely better than communication shortage.
Always confirm, even with one word
When there’s a lot of communication, it’s easy to miss something, or more often, to see something and think “oh I’ll answer it later” and then forget about it. It happens, we are just humans, and I don’t think we can avoid those situations (especially when working with remote teams). It’s okay as long as we control them. The easiest way is to confirm that you received and read the message at each occasion. Sometimes, a simple “thank you” is enough. If the message is long and complex, it’s a good practice to answer with a quick summary, such as “thank you for your message, as you requested I’ll now do [..]” – thus if there was a miscommunication, it will be spotted quickly. And if you don’t receive the confirmation, you have a signal that you should remind that person about the issue, because most probably the message has slipped. But if you don’t use confirmation, how do you even know if the other person has read the message? You don’t, so you either risk assuming that they read it, or risk spamming the other person. Why bother, if a quick confirmation message and perhaps short “summary” as an answer, would solve so many problems?
Problem 3 – You are overwhelmed by constant communication so you can’t focus on the most meaningful work
We’ve all experienced that these days. You start your workday, try to handle all your Slack messages, emails and in the meantime, you have 2 or 3 meetings. Once you get some time for yourself, someone asks you for an urgent 1-1 call and after that, you realise you have to write an update email to your stakeholders. When your workday is done, you can’t believe that you haven’t checked off anything from your to-do list yet. It’s not that you’ve been completely unproductive, communication is important after all, but when it takes your whole day, something’s probably not right. Here are some rules that might help.
Handle asynchronous communication in large batches
Many people subconsciously think that the world will end if they don’t answer everything ASAP. The truth is, hyper-communication is addictive, it provides instant gratification. Someone asks you a question on Slack, you answer that immediately and yay, you were helpful! But even though it might take you a few seconds to answer a message, there’s context switching cost. You can’t produce meaningful value if you are distracted every few minutes. One of the best ways to avoid distractions is to mute your asynchronous communication channels and answer them in batches, for example, every hour. The whole team should also be aware that they shouldn’t expect others to answer within 15 minutes for every message, as well as the reason why. You should, however, still have communication channels designed for instant answers in case of real emergencies.
Ask yourself often, “does it really require a meeting/call?”
Meetings and calls create incredible opportunities – you gather all those skilled people in one place and you can brainstorm solutions, help each other and solve complex problems. However, they are often misused. Have you ever participated in a meeting, when mostly one or two people talked for most of the time, and you left with a thought “this could have been an email”? Isn’t it fascinating that we all tend to complain about such meetings, but they still happen? That’s because we often don’t notice the fact that even though we hate these meetings, we sometimes organise them ourselves. It’s hard to notice because every meeting seems fascinating and productive when you are the one talking all the time, isn’t it? Believe me, every organizer believes that their meeting is important and crucial. This is why it’s important to stop for a moment, check your calendar, audit your meeting agendas, and think “if I replaced it with an email, would something really change”? Also, ask your teammates regularly, if they believe that the meeting was valuable. In short, sometimes an email, a note, or a message is enough, we all know it, yet we all believe that our meetings are different and always important.
Rule of thumb – don’t set a meeting if it’s to convey information (assuming it’s not crucial/personal information, you don’t want to fire people via text message after all).
Agenda, timebox, parking – meet the trio
I believe that not every meeting should have a strict agenda – for example, it’s very difficult to plan the flow of a retrospective meeting. However, most meetings deserve an agenda. Not only do they allow participants to better prepare for the meeting, but also help in keeping the meeting on track, as well as answering the question “does it really require a meeting, or is email enough?” Then timeboxes – we often use them wrong. We tend to think that if we schedule a meeting for 60 minutes, it’s already timeboxed. Perhaps it is, but what’s the point of finishing on time if you haven’t reached the purpose of the meeting? The trick is to use timeboxes on the agenda level, not only on a meeting level. Each part of the agenda should have its own timebox. It will help you to control the meeting more precisely. Last but not least, the parking list. During meetings, new ideas and topics pop up regularly, and it’s easy to realise at the end of the meeting that you discussed everything but the agenda items. A good practice is to have a so-called “parking list”, whenever the team goes off track, the topic should be written down in this parking list. After the meeting, you can review the list and decide, if items there need additional meeting/mail/1-1 clarification. While some meetings are better without strict timeboxes or agendas, I believe we tend to underuse rather than overuse them. We often neglect it working remotely, but if you schedule a call with someone, it’s actually a 1-1 meeting and should be treated as such.
Keep your messages short and concise and ask for the same from others
Have you ever received 20 notifications within 15s, just to check that all of them are from one person? It’s often the case that we are so eager to ask / message something, that we start writing it before we fully finish the thought. What’s worse, we sometimes tend to click “Enter” every now and then while we are not done yet. Not only does your recipient have to struggle to understand the clue of your messages, but they also need to read twice as much text, simply because you didn’t think before sending a message. Compare these two messages.
And yes, the example may appear to be a drastic, but definitely not an unrealistic one! The idea here is simple – just think twice before sending the message, and try not to press “Enter” before you are done.
Let’s automate it!
The technology is here to make our lives easier. Plenty of manual things we do daily can be easily automated. You tend to spend a lot of time organising your emails, playing with folders, and labels? Invest some time configuring your inbox filters, inspect and adapt, and in no time you’ll notice that your inbox doesn’t need your help anymore! If you use Slack, there are powerful integrations, so instead of texting your team every time you create a new ticket, you can have Jira extension popup a message automatically. Slackbot is also very useful to take off the duty of sending repetitive messages from you.
You are creating repetitive emails or docs? Take an advantage of Microsoft Word’s merge mailing feature, or create a handy program using the not-so-complex AppScript. There are limitless possibilities to automate our communication flows. All you need to do is to think every now and then, what in your communication is repetitive and can be automated, and then just google it – you’ll be surprised how easy it is to automate stuff.
Problem 4 – You feel that remote interactions are superficial and shallow
According to Buffer’s State of Remote Work 2019, loneliness is the second biggest struggle for remote workers.. When you think about it, there’s not as much human interaction as in the physical office, and sitting by yourself in front of a computer and communicating with your teammates using chat apps might feel cold and artificial. However, I wouldn’t say that it’s impossible to achieve similar levels of human interactions and team dynamics in remote environments as in an office environment, you just need some additional tactics, for example:
Create virtual water-cooler experiences for team members
In the office environment, we have plenty of spontaneous non-work-related conversations, whether it’s waiting in a queue at a coffee machine, eating breakfast together, or just passing each other in the corridor. Those situations create space for team bonding on a personal level. In a remote environment, they do not occur naturally as easily, but that doesn’t mean you can’t have them, you need, however, to plan them. One example is to schedule regular “virtual coffee” space, when you meet on a video-conference with your team, grab a cup of coffee and have a meeting without any agenda – it gives some space for personal topics and bonding. In The Software House, for example, project managers have a daily 30-minute block for coffee time, and whoever has time can join. Sometimes we talk about personal issues, and sometimes we talk about work, but in a casual way. It creates this nice social bonding we’ve been missing ever since going fully remote.
Another example would be scheduling a virtual dinner with co-workers. If you would like to strengthen your relationship with a coworker, just ask them “out” on dinner. While it might seem strange at first, just try it and see for yourself. There is plenty of remote teams tools for that.
You might also think about having a monthly “Happy Hour”, a time slot after working hours during which the team can meet and drink a few beverages of their preference and simply have fun together. Sometimes there isn’t a better icebreaker than a glass of wine.
If you need more ideas, just google “remote/virtual/online water-cooler” and you’ll find plenty of them. Just make sure you have some of them in place, these can work wonders.
Camera always on during video calls, and it’s not for you
I think this one doesn’t require much explanation. Without using a camera on calls, not only do you create a superficial environment where people feel as if they were talking to a robot, but you also rip the other person off benefits such as seeing your body language. If you still think that YOU don’t like to be on a camera, then read again the above. You don’t turn on the camera for yourself, but for other participants of the meeting, and in return, they do the same for you.
There’s much more to be said on the topic. Every project, team and environment is different. You should adapt your communication culture to specific circumstances you have, however, I believe the tips above should help you create a good foundation. The hardest part is to actually enforce the adequate communication culture in your team. Sometimes, I had to answer someone 10 times that I won’t be replying to their question unless they text it on the group channel if the topic was related to the whole project. It’s easy to slip, especially if people already have developed some bad communication habits, however, going through the lengths of building the right and healthy communication culture is definitely worth the effort.
Below you’ll find a quick checklist to help you audit your communication culture based on the article. Under the checklist, I propose an exemplary scoring list too.
0 – 6 points: There is a high chance you have fundamental problems when it comes to communication culture and a change is needed now.
7 – 11 points: You are doing a pretty decent job when it comes to remote team communication habits, however, there’s still room for improvement.
12-14 points: Congrats, you have a very decent foundation of a healthy communication culture. Just don’t settle and keep working on your communication habits, rules and rituals with your team.
While you might not agree with all the points on the checklist, which is perfectly fine, I recommend you to create your own checklist based on your specific criteria and audit your communication culture every now and then.