Secrets of an efficient remote team

Secrets of an efficient remote team

I have the pleasure of working with an effective and fully remote software development team. Currently, our team consists of eight professionals who work from all over the Europe. We develop a repository management platform Deveo, and release a new version of it 10-12 times a year. That is quite a good pace considering that we offer both a cloud and an on-premise solution of the platform. So, how can a remote team be this effective?

When I first joined Deveo I had no experience in fully remote teams. I had my doubts. How can a team work together if we keep the normal human interaction - discussing face to face - to a minimum? Isn't it highly inefficient to use a team chat compared to having a brief conversation? How can you trust that the team members actually deliver if they are not constantly monitored? I bet that many organisations share these same feelings.

During my time in Deveo, my initial concerns have vanished. Therefore, I'd like to share our secrets that have made us an effective remote team.

Clear roles, goals, and workflows

The foundation of our remote team is clear roles. Well-defined roles provide our team clarity and security. Each member knows their domain and thus can focus on well-defined areas. As a result, there is no need to give people tasks on a daily basis and constantly follow up on the progression. It goes without saying that we don't spend time in too many planning meetings.

Hand in hand with clear roles go clear goals. This helps a team member to understand what is expected from them in the short and in the long-term. As a result, the team member can better plan their own work, focus, and be independent. Ability to manage your own work is imperative in a remote team. This should be facilitated in any possible way.

We have also noticed that it is utmost important to set up clear workflows for the team. It is crucial that the whole team agrees on the workflow. So, if a team member comes up with a good way of improving the current flow, we encourage them to speak out on it. If the team finds the suggestion to be any good, we will give it a shot. If the new workflow doesn't work as we hoped, we can always return to the old flow.

No unnecessary overhead

One of the biggest positives in our small team is that we don't have too many managerial roles. Currently, our CEO is pretty much our only manager. Adding too many managerial positions in a team will be counter-productive. It shifts the balance from actually delivering results towards planning and reporting. Furthermore, building hierarchies in a small team is never a good idea. The most probable outcome is that team members start to ask for permissions. As a result, they use more time in waiting than delivering.

Of course, this applies to any small team. Yet, in a remote team the negatives of having too many managers multiply. Remote team members need to be able of making decisions by themselves.

Having too few managers is not ideal either. I can admit that we could benefit from a CTO type of role, which we currently do not have. This would allow our CEO focus more on the business side of things.

Wise use of tools

A couple of decades ago it would have been close to impossible to operate as a 100% remote team. Without modern communication and software development tools, remote teams can't operate.

Our most important tools as a remote team are our team chat and our development platform. We use Flowdock as a chat software. Its support for threads helps us keep the communication precise.

We are a professional product company, and we eat our own dogfood. This means that we rely on Deveo as the development platform. We store source codes and their version history, tasks, documentation, and code reviews in Deveo. Having one platform for all allows us to focus on getting things done rather than maintaining many tools and keeping them synced.

The majority of our tools are of course related to software development. Git was a natural choice for version control. It works well for a remote team and allows more efficient code review workflows than SVN, for example. It is also more used than Mercurial. This means that it is easier for us to find talented developers who are already familiar with Git. If you are interested to see our whole development stack, you can visit Deveo's Stackshare profile.

It is easy to find tools to solve whatever problem you might have. But, try to have as few tools as possible. The more tools you have, the more diluted your team's work becomes. Which results in loss of focus and inefficiency. So, think twice before introducing a new tool. It should at least make you more effective or even replace an existing tool or two.

Team Values

For us as a remote team, our values is the DNA that guides our daily work. Our shared values ensure that the whole team will work with the same ethos towards the common goal.

Some might think that values are some corporate bs and rules would be a more effective way. For us, values work better than rules, though. Values enable people to pursuit awesomeness, rules exist for restricting unwanted behaviour. Which one is more fruitful in your opinion? Our values let us be independent. If my actions (or lack of actions) are in conflict with our values, I know that I'm not working like the rest of the team. As a result, I know that my performance is not in line with the rest of the team.

Every now and then, we have all-hands-on-deck meetings where we discuss our values. We give good feedback to team members who have lived up to the values and give examples of such behaviour. This encourages us to keep the values in mind during our daily work.

Transparency

One of Deveo's core values is "Be open". To function as a remote team, we cannot withhold information from each other. You can always share information by having a chat. Even in a remote team, you can set up a meeting through Skype or Hangouts. The pitfall here is that the information stays only between the people who had the discussion. Rest of the team stays in the dark.

Now, in a traditional team, people tend to bump into each other. Informal knowledge sharing happens when people interact. But in a remote team, this doesn't exist. We don't hang around the water cooler. So, we need to be very open and have as much of the discussions as possible in the team chat. As a result, the discussions get documented and the whole team stays updated. A good practice is to make memos of the meetings and share them with the whole team. It is better to share too much than too little information.

Trust

At the end of the day, the effectiveness of a remote team boils down to trust. The team members need to be able of trusting that everybody delivers. Everybody needs to be committed to the team values and be open in their communication. Otherwise, a remote organisation cannot operate effectively. If you lose trust, you lose everything.

Transparency, independence, and trust are all intertwined with each other. When the team trusts each other, the team members can be autonomous. When I know that my teammates trust me, I'm sure as hell not going to let them down. And I know that my teammates share this view.

In Deveo, we build trust by encouraging each other to be open in our team chat and in our meetings. However, this alone isn't enough. The best way to build trust is to make your actions match your words.

Value of Face-to-Face meetings

You probably got already the idea that our remote team is not too fond of meetings. If we have two meetings a week somebody will start to mutter that there are too many!

The occasional meetings are important, though. For us as a remote team, one valuable outcome of meetings is that we actually see each other. Video meetings is a good way of seeing that you are working with real living and breathing people. Otherwise, you start to consider them mere avatars on the screen.

Meeting in person is also why we gather our team twice a year to one city in Europe for a weekend. We spend time together and get to know each other. After I met my teammates in person for the first time, I found collaborating with them tenfold easier.

Recruiting

The last point that I want to raise is recruiting. To contribute as a member of a remote team, you need certain characteristics. Remote work is not for everyone.

This is something that we take into account when we recruit new talents to our team. This is by no means an easy task. The new employee's closest future teammates interview the candidates. This helps us to make sure that the new employee is a good match. We also look for people who already have experience in remote teams at least on some level.

Conclusion

For me, working in a remote team has been a pleasant learning experience. It was difficult at first but I've been able of adapting myself. And now I enjoy this a lot!

As a member of a remote team, I can better focus on the tasks at hand and have fewer interruptions. In a co-located team, interruptions are constant and your focus gets shifted too often.

Furthermore, our recruitment market is significantly larger than what it is for traditional teams. In theory, we can hire people globally. In practice, we focus on our own timezone +/- 2-3 hours.

Clear values, roles, goals, and workflows make our remote team tick. The whole team embraces and enforces the remote team's culture. This makes is easy for us to trust each other. And we know that we all are highly self-organising people, who need the freedom.

Let's conclude this post by sharing some of our team members feelings about remote work:

Liviu, UI designer:

"I prefer remote working because I can set my own working schedule and have plenty of time for my personal life. And by doing it like this I am more productive and work becomes pleasure!"

Marek, backend developer:

"Remote work gives me the opportunity to spend much more time with family. Watching my son growing up and having meals together is simply priceless."

Ville, frontend developer:

"What I love about remote working is that it allows so much freedom - I can work from wherever I wish and have more spare time daily due to no commuting. Being able to work at a lakeside cabin on a nice summer day feels very energizing and liberating when compared to commuting to a city office and staying indoors."

Seamless software development.

Code management and collaboration platform with Git, Subversion, and Mercurial.

Sign up for free
comments powered by Disqus