3 Tips to Better Manage your Remote Team (Part 1 – Processes)
Remote Team Management
Let’s face it: managing a Digital Product development team is not an easy task to achieve. You deal with multiple individuals with contrasting personalities, goals and frustrations. People coming from diverse academic backgrounds (engineers, designers, marketing professionals) and holding different levels of experience (some of them are senior, some others are junior). Even those members of the team that apparently look similar to you, might actually not share the same responsibilities, tools nor pains. A day in the life of a SSr Frontend Developer probably bears no relationship to that of a Sr Backend Developer, even though both of them might be 30-years-old Computer Science Engineers.
On top of this, like if things weren’t hard enough already, you manage a remote team made up of members living in different cities and countries that will interact each other virtually and who will not share a physical space. Suddenly, you discover that adding that new feature to your app might become as hard as building the Tower of Babel and you do not know where to start.
If this description partially depicted your current situation, here is a list of tips that will make your day. A set of recommendations to help you understand the dynamics of remote teams and discover why working from home might actually help improve your squad’s productivity. Voila!
Tip 1: Implement Processes
What is a Process?
Processes are guidelines that your team follows repeatedly to enhance your product while keeping order across the project. They provide structure and direction for your team. When correctly implemented, processes can significantly improve efficiency and productivity.
People don’t like processes. We think of them as boring and bureaucratic obligations that do nothing but take time from everyone’s agendas. They look like obsolete ceremonies that teams need to follow without a reason so we try to reduce them by all means, for the sake of agility and velocity. However, reality shows that people end up loosing more time when a project lacks order, trying to to compensate for the communication and organization gaps processes were meant to fill in. Fixing errors hours before a deploy, exchanging emails late at night or holding last-minute meetings are symptoms that your project needs order urgently. And this is specially important when you work with people living in different timezones. No matter what workaholics tell you, no one should really work on the weekends or after hours if a project is well planned.
Order is not the same than slowness and chaos is no the same than agility
Processes help us internalize good practices by repetition, that we would otherwise skip or forget to accomplish. Take for example teeth-brushing: we all know it is important to brush our teeth after every meal and how bad it can be to our health not to do it on a daily basis, specially at night. However, kids hate doing it and try to skip it by all means. No one can deny how boring it is to stand for 5 minutes in front of a mirror, alone, while we could be doing something more fun like chatting, playing video games or sleeping. The only way we can internalize such an important (though boring) habit is by implementing a process: the obligation to do it EVERY NIGHT before going to sleep. No matter how tired we were, no matter if we were at home or on holidays, no matter if it was winter or summer, we were taught to wash our teeth before going to bed. And only after years and years of repeatedly doing so, we started doing it automatically. Not because someone forced us to do it, but rather because our brains knew that before going to bed, there was a need to also brush our teeth. That’s the power of an effective process.
Defining processes
So where do we start? First of all, take the time to sit down with your team and define together a set of steps to repeat every day, week and sprint. It is very important to have every member of the team involved in the definition of the processes. It won’t be long before someone suggests to skip them for X reason, but as a manager you should prevent that from happening. How? By making their design and implementation a shared decision rather than an authoritarian order coming from above. Explain the importance of following the processes and the benefits they will bring in the long term.
It does not matter if the processes are few at first. Actually, the transition from a process-free structure will be easier if the processes aren’t many and besides, there will always be time to add more steps into the loop. Begin with the easy tasks in order to help the team understand the basics of having processes. Take those that might be already happening informally, and shape them into formal descriptions.
Your team might already have processes in place. Only they might not be aware of it yet.
For example, almost every team has meetings to review the status of the project. People gather together and comment what they have been doing, what blockers they had, and what will be the next steps. Turn these meetings into a formal process (e.g. Synch-up meetings), that has a goal (get an updated status of the project) that takes place on a regular schedule (every morning at 10 am), with a specific length (15 mins) and send calendar invites to everyone in the team. This way, you are letting everyone in the team know that they must attend such meetings. You are also providing specific details about these meetings format and objectives. And most important, you are giving this process the importance it deserves by making it something tangible that can be seen on everyone’s calendar.
Iterative improvement
At first, your team members will look at you with puzzled faces, like saying “Do we need to be this formal?” “Is this meeting the meeting we’ve been having almost every morning since the project started?”. But after some time you will discover the benefits of formalizing a process that had never been defined collaboratively before. People will also start to say “Hey, 10 am seems like too late, is there any way we could move them to 9am?” or “I think 15 mins is too long, maybe we should just try to focus on discussing what are the blockers” or “Does Joe from Finance need to be there? maybe we could remove some people that do not bring value to these meetings”. Your team will begin to question the process definition and this will help improve it iteration after iteration.
As people start to collaborate more and more, your processes will get more mature. Meanwhile, you should keep setting the bar high. Try to push it a little further and ask new questions: Can we replicate this process for meetings with stakeholders? Should we include a tentative agenda for the meeting in the calendar invite? Should someone take notes during each meeting and share them with the rest afterwards? Nevertheless, be careful and try not to get too excited about processes. After all, processes should help the team members organize, NOT add more work.
Next Steps
Other good examples of processes you can formalize are definitions of communication channels (i.e. we will use emails to discuss new features, messaging tools to notify about bugs and phone calls only when the website is down), expected response times (chat should be replied within 12 hours during weekdays), tracking tools (we will use Jira for the development backlog, Trello for new ideas brainstorming and inVision for UX wireframes) and workflows (what should happen when a new employee joins the team, who is responsible for training him/her, who will create his email account, etc).
There is a high chance you might be using some agile methodology in your project like Scrum, Kanban, or any other flavor. If that is the case, then some ceremonies (Daily meeting, Retrospective meeting, etc), roles (Scrum Master, Product Owner, etc) or artifacts (User Story, Backlog, etc) might be already defined implicitly. These can be considered processes as well, as they help your team speak a common language and agree on specific ways to deal with everyday work. However, feel free to always introduce your own processes and customize whatever framework you are using in order to better suit your team’s unique needs.
(…to be continued)