Working Remotely: Part 3, Online Collaboration
Updated: Jun 25, 2020
In a previous article, I presented some recommendations for how individuals can improve their productivity and happiness working from home. In the last article, I presented some recommendations on how to conduct an online meeting. In addition to the more formal meetings, we also need to have a strategy for day-to-day collaboration.
I often let the teams self-organize. All I make sure of is that they have the tools required to work together. However, my team has operated remotely for a long time, and they have lots of experience with what works for them. It would be unfair to expect a team with little or no experience to be able to self-organize.
In this article, I'll discuss a few things that may help those that do not have my team's experience.
Create a remote informal culture
In a physical office, you may rely on gatherings in social areas, happy hours, and water coolers to organically create an informal culture. You can obviously not rely on this in a remote setting.
If the pandemic caused the remote configuration, you probably want to find ways to simulate the culture you had. That may be having a remote happy-hour on Fridays, having regular virtual chit-chat meetups, sending everyone lunch through Uber-Eats for then to eat lunch together virtually. Ask your teammates, and they'll come up with ideas.
As a manager of a remote team, I make a point of checking in with random people every day. It is a virtual version of Hewlett-Packard's Management by Wandering Around. What I want to know is how individuals are doing, what are their frustrations, worries, excitement, etc. It is about taking the pulse of the organization, fix whatever is not working, and promote what is working.
Create a formal culture
You also need to formulate a more formal culture. A few questions that you should answer are:
What are the accepted work hours? You want to make sure that the teams have overlapping hours.
How do we sync up? For some of your managers, the new remote situation is new. What are the best practices synching up? What works for your organization? I recommend that remote teams sync up at least once per day. As I mentioned, my team is so used to working remotely that I don't have to even mention this. I can see through our tools that they talk every day and multiple times per day.
How do we collaborate? This covers many aspects. E.g., which tools to use for what kind of communication (when do you send an email, when do you use instant messages, when do you call a meeting, etc.). In addition, you should have suggestions for how to do code reviews, pair programming, design review, strategy meetings, daily scrums, planning meetings, etc.
How do we use our tools:? E.g., what do we use Slack for, when do we use emails, when do we check-in code, do we keep our video on, what is an acceptable 'lateness' in meetings, do we keep notes from meetings, etc.
Find the tool(s) that best support the way you like to collaborate. My team has a few favorite tools, and they use them in different ways. The tools most popular are Sococo, Skype, Slack, Google Hangout, Zoom, Microsoft Teams, shared documentation/drawing tools such as Office 360 and Google Docs.
Here are some features that I would be looking for:
Feeling of who's online/offline. The tool has to make it clear who is available and who is not. Most tools have support for this, but we have to ensure that everyone updates their status. By far, the best tool we have found for this is Sococo, but other tools have support as well.
The ability to quickly summon an ad-hoc meeting
Good audio and video
Good screen share
Possibility for remote screen sharing (not necessary if you use an online shared source)
Ability to work on the artifacts produced in parallel and together
Ability to present and collaborate on diagrams/drawings
Which tools my team uses depends a lot on the task at hand, and it varies with the team composition as well. What I have noticed is that those most experienced and effective almost always collaborate with a shared screen, audio, and video.
I'll write about the tools we use in a different blog article (that I'll link to the article here when done).
Remote workers have a need to make deliberate efforts to communicate more frequently than what is usual in offices. When you work remotely, informal communication is often missing. In an office setting, many problems get resolved over lunch or perhaps by the water-cooler. Many team members may develop cabin fever, and unless you, as a manager, stay on top of it, the productivity will plummet.
We suggest that the teams have daily sync-ups. Most of my teams are working in an agile development team and are used to the daily scrum. However, I also suggest that the daily scrum is extended with some more informal exchanges of what's going on. A daily scrum meeting may look something like this:
Standup (10 min, max 1 min each)
Summary and update of backlog (2 min)
Shooting the breeze (8 min +)
The shooting the breeze section may include jokes, a little internal bashing, discussing the days weather, or whatever you want to talk about. It is entirely voluntary, but I usually expect everyone to stay around for the 8 minutes.
Also, expect that it takes time for people to get used to the more asynchronous communication style of online collaboration. I see a lot more use of email and instance messages.
The virtual social butterfly
Most organizations have some people that make it their point to include everyone and connect people. This role is often under-appreciated in organizations.
When I took my business degree at BI (now Norwegian Business School), I took a course called Organizational Theory (I can't remember the professor's name, but perhaps I'll come back and edit this blog when I do). This was a brilliant course taught by a brilliant professor, and it is probably one of the most useful courses I ever took in college.
In the course, the professor used transactional analysis to analyze communication and gave us a framework for how to build well-performing teams and organizations. I've used this theory in many companies I've worked for and led. What I learned was, you can't just hire scientists to create a well-performing research team. You need to augment your team with those that can tie the team together. Sometimes, the social butterflies are not the most brilliant academics, but they are still VIPs.
In a remote setting, building a sense of team is much more difficult, but equally important. Often, the ones you depended on in a physical office to create teams are now ineffective in the remote environment. However, you need to encourage them to continue the great work in the remote setting. I make it a point to talk to them, making sure they understand that I really depend on them to keep the team together and that I highly value the work they do. People are inventive. They'll find a way to get together. Perhaps they start playing some online games, and perhaps they set up a virtual meeting where they discuss common interests. It really doesn't matter what it is, but as a manager, you should promote the social efforts and make sure that the team members understand that it is perfectly OK to participate.
Another thing I encourage is a virtual water cooler. In the tool we prefer (Sococo), you can setup a virtual water cooler by dedicating a room/area of your virtual officer for that purpose. If someone is in that area, it is a sign that they are open to a social discussion.
The idea of a virtual water cooler works well in Slack and other collaboration environments as well. We have a special channel for non-work-related items. Some of the more active "butterflies" tend to post something funny, sometimes work-related, sometimes not on this channel. We also have a more generic work-related off-topic channel that is quite active where teammates drop articles about new technology, something they read over the weekend related to what we do, etc. This often spurs discussions that are very similar to those you see around a water cooler in an office.
Working in pairs
We encourage people to work in pairs. Some research shows that this is a good idea in a physical office as well, but we've found that in an inexperienced remote team, it is a magnitude more efficient. Here are some of the benefits we have observed:
The feeling of working in a team
Higher quality work
I'm not going to make an argument for pair collaboration here. I'd rather point to a few papers that discuss the topic. Although these articles were primarily focused on working in pairs in the same office, I think they are still relevant, and I believe the effect measured in an office is even more dramatic in a virtual setting:
Management Impact on Software Cost and Schedule - Jensen (I don't have a link. Published in a book called "Pair Programming Illuminated"
The above links are primarily to research on pair programming. I want to add two comments about that:
The lessons from pair programming holds true for any collaborative work. I don't care if you are working on a presentation, a spreadsheet, or anything else. Work in pairs when remote is my recommendation.
If you are a programmer and don't know about pair programming, I recommend reading this article from Martin Fowler to get up to speed.
In this article, I've shared some of the principles we use at Northscaler to make remote teams work. We are in a somewhat unique situation as we have been working remotely for a long time. However, all our engagements with customers require that we can put together a remote team (my engineers always work remotely, and the customer team may very well be in an office). Hence, many of the techniques I mentioned in the article are things that we have to construct in teams that had very little experience working remotely.
I hope you found the article helpful. In the next article, I'll share some experience with the tools and share with you the tools that we use.