Joy or Pain of Constant Cooperation?
The biggest lie of Computer Science studies is the premise that we will work solely with computers. Dealing only with tough engineering problems, we will work only with predictable and logical silicone matter.
That is an engineering utopia. If you work long enough in that business, you know that it is not going to happen. IT is immensely teamwork oriented. People-stuff will surface everywhere, and that is good. Embrace that - we are complicated beings.
That is not the end of the story. No matter how much you believe into hacker ethos and 10x engineers - you cannot build everything on your own. People need to cooperate to make extraordinary things.
Nowadays that picture is even more complicated. You can reliably connect with almost everyone around the world in a matter of seconds (assuming that your recipient is awake and has connectivity). Although, it is far from face to face conversation because it hides all those nitty-gritty details about the natural dialogue.
For many people that is the main reason that you cannot create a competent IT team in remote and distributed environments. Our lives are becoming more and more distributed. Remote cooperation creeps in from every possible direction. Moreover, it hits the doors of our workplaces more rapidly than anytime ever.
We know that it is feasible but requires the particular mindset and patience. That’s why we decided to share our thoughts around the topic. If you have a question about one of the presented tactics or how we work in general or want to share your thoughts, we encourage you to leave us a comment below.
When approaching new clients, a typical question we often hear is:
What do you need from us when it comes to establishing successful remote cooperation?
That is a valid question. We want to present how little effort it needs from the start. However, we do not stop there - we want to highlight the advantages of introducing remote people into the team and how that helps to build your team.
Let us introduce the top five unexpected (and subjective 😉) benefits of remote cooperation.
1. The Bliss of Asynchronous Work
How many times have you stuck in a meeting that should not take place at all? We have been there, done that - the only thing you can do is to calculate the price with this calculator and silently sob over the wasted time and money.
What if we could proceed with most of that stuff asynchronously? Thankfully, in IT we know well how expensive are context switches and already many things can be done asynchronously (if anyone is still participating in all-dev-hands projector-based code reviews I want to hug you). That requires effort, but ultimately you will eliminate all blockades - it just requires patience and teamwork.
How can you achieve that? A silent side-effect of introducing remote people to the team is an evolutionary change over those behaviors - someone else availability will sometimes block people, and that’s good. It’s good because it brings up the pain. If it pains and itches, you need to handle that - and that helps with providing creative solutions to those problems. After a few rounds, it turns out that you can do other stuff waiting for someone’s answer. It even turns out that some questions are not so urgent and the documentation of the project already covers them.
2. Essential Value of Great Tools
Do you know what a difference between a great and good tool is? It is all about physics, more precisely - about friction.
If my joke was good enough, you might smirk, but still, you will not believe me. Fair enough. I want to propose an experiment for you:
I dare you to change your favorite communication tool (e.g., Slack) to something different, ideally - to a worse and less convenient product. You can choose good, old IRC for example.
I will bet that you will see the difference in the first 15 minutes. No worries, that’s nothing wrong. If you are the more patient person, you will try to overcome old habits, and you will fight. In many cases, our muscle memory, practices, rituals are the things that help us work effectively and being more productive.
What we often observe in remote environments is the attachment to old and worn out tools. They may perfect sense in the previous situation (context is the king), but now they may introduce a lot of friction.
There are two problems with that attitude. First is the fear of change, you have seen a lot of articles and studies regarding embracing the change. You need to work it out. It is like the diet or deliberate practice - it requires grit and patience.
The second problem is the change without planning and measurement. We often observe changes driven by the hype or trends. You may say it is obvious. If yes, why so many people considered switching from Github to other providers when Microsoft bought them? It is against common sense, yet still, we love to play with such stuff.
A proper remote friendly environment brings to the table predictability and pragmatism. It does not mean it cannot change. It says that if we do a change, we carefully plan it, considering proper communication.
As a side-effect, you discover those great tools because they help you with managing such careful experiments or changes. It relates to both software and hardware solutions - when it comes to video conferencing quality, VPN accessibility, and other services that are just convenient. Those elements may cost extra, but they save time in the long-term.
3. Humans are Visual Beasts
What is the first rule of the remote club? No, you actually can talk about it - I dare you to do that. The first rule states:
You need to have a face.
Enable your video camera during the calls. Simple as that. Yes, we all know that we chose to work remotely to spent whole day in pajamas (guilty as charged), but let’s face the bitter truth - you need to at least, put an ironed shirt, pajama pants can stay.
Leaving jokes aside, that element shortens the distance in the virtual conversation, brings a more human touch to the table. The same goes with having nice avatar pictures, or kind introductions when approaching people over IM - especially if you have not met those people in person.
It sets virtual communication at the higher level. That helps even in a situation when you communicate with people working together in a colocated environment. Moreover, it helps when you finally meet people without intermediate proxies, wires and wireless connectivity. You can be recognized easily. Local team members will identify remote colleagues immediately and treat them like the long-term member of the team - because at the end you are such.
You may rightfully ask where is the benefit here. We established a successful pattern when it comes to onboarding that we pass around and reuse.
For an initial project kick-off or just for our start, we plan a week-long onsite with the client’s team. That helps with the relationship at the beginning, it tears down the walls and eases further remote cooperation.
Many organizations engage into it with heart and soul - like in our most recent example with HRS Innovation Hub, when they plan a photo session, Berlin sightseeing and watching together a World Cup match over a beer. Such events help with team building, and ultimately a dedicated, satisfied team is our the most valuable asset.
4. How do you pass the knowledge?
Hiring is hard. After success, you cannot stop there. Then onboarding is hard (sometimes even harder than acquiring an employee). Moreover, if you introduced the new person that works remotely - a slow and unpleasant chill downs through your spine.
In most cases, all pains and friction relate to the project’s documentation and how we pass the knowledge around. If we do not have proper documentation, that is up to date and maintained every single onboarding would be a nightmare.
I know what you think - who has time to do that regularly? Let me reveal one simple trick that can help you: prepare documentation for introducing a new person around gamification. Remember about clear call-to-action at the end: a new person should be responsible for updating and keeping up to date that documentation, until the next greenhorn arrives.
The same goes with onboarding procedure - we often prepare what we call a baptism or hell week, which usually means deploying a small, but not negligible fix or operational task on production infrastructure according to the documentation. If there is no such documentation around it, the new person needs to create it.
Last, but not least - passing around the knowledge from the most crucial people is necessary for others to move forward independently. To do that we are often facilitating lean coffee sessions or more formal weekly knowledge sharing meetings. One critical note - you need to record those meetings (e.g., Hangouts On Air are your friend). That will enable people to access that particular piece independently and reduce the communication pressure from a “valuable asset” that holds the knowledge.
5. It ain’t what you do, it’s the way that you do it.
As the last point, I would like to emphasize the power of the attitude. I mentioned tooling, but in many cases attitude and boy-scout rule can create miracles. I can give one anecdotal example.
We have worked in an environment with the best possible hardware for video conferencing. You know those fancy and powerful towers with the remote-controlled camera. Nifty and geeky stuff - also very expensive. However, what is the point of such a tool when nobody cared to position camera accurately when connecting with remote people?
The point I tried to make here, is that you can start with the cheapest possible setup, but you need to pay attention to the details. If you are connecting from a conference room, try to eliminate sources of noise. Be nice and mute yourself when nobody’s talking or use the push-to-talk feature.
It is not related only to the video conferences and communication. Ask around remote colleagues and spend some time in a virtual chat room. Yes, you can have a small-talk in a remote environment. It is not a worse experience - it is just different.
Learning new stuff provides the best result when you are exposing yourself to the new experiences. The best teams are those who adapt most quickly when it comes to the varying conditions. As we talked at the beginning, software engineering is a team sport. In the end, we need a synergy, not a group of individuals.
Are you interested in tactical support from a veteran team?
As a highly experienced team that worked for various businesses and domains and experienced both remote and onsite environments, we know how to take care about full development lifecycle - from top to bottom.Let's talk