In Droptica, we have been a company working remotely since the beginning. Some of our employees work in cities in which we do not have offices, some travelled the world while continuing their day to day job. All this while providing the best Drupal support and Drupal development services possible.
Remote work, however, is not as easy as just having a laptop at home. In this post, I am sharing crucial considerations a company has to take into account when it wants to allow its employees to work from home.
Rules for business processes
Clearly defined goals and objectives
It goes without saying that if you set your expectations clearly, you get better results. In a remote work setting, this is especially important, because every person is working without direct supervision. To be able to deliver quality work, people have to have clearly defined goals and tasks, which can be easily translated into actions and deliverables.
When you look at web development, this means projects being split into user stories, and tasks required to deliver them. The user stories have clearly defined acceptance criteria, which allows the developers to understand and implement them without ambiguity or errors.
Clearly defined objectives are the base of good project control. In a remote set up the ability to control what everyone is working on and how long it takes becomes even more important. In Droptica, the project management methodologies and tools we use allow us to track with clarity project progress against the plan.
In particular, we use Jira to capture all requirements, user stories, and tasks, assign them to people, set deadlines and track progress. Having good online tools gives everyone visibility of progress.
If a team works remotely, good communication is paramount. Unclear messages and requirements can quickly turn into big misunderstandings. To avoid that, all tasks, requirements and emails have to be communicated in writing. Notes from meetings have to be made in writing and follow up actions clearly outlined.
In Droptica we generally avoid emails, which can turn into long and difficult to follow threads and focus on keeping all project-related tasks and documents in Jira or in our documentation system.
We follow SCRUM methodology in managing most of the projects. SCRUM is great because it gives a robust framework of communication, which works really well for remote teams.
- Daily standup meetings at agreed times keep everyone in the loop.
- Refinement, Planning, Demos and Retrospective meetings allow for a clear definition of work to be done, assignment of responsibilities, presentations of results and process enhancement.
Ad hoc meetings
Despite a great framework, ad hoc meetings are still sometimes required. This is mostly to discuss specific detailed problems or explain ambiguity. Video conferencing comes in handy in these situations. It is just important to remember that you cannot just walk over to people’s desks to collect them for a chat. You might have to plan around that a little bit. Eg. slack them all that you would like to talk in 15 minutes.
It is a good idea to define which communication channel is used for what type of communication, eg.
- Project meetings (eg. SCRUM meetings) to plan, discuss, understand, reach an agreement.
- Jira - to capture what was planned and agreed and to track progress.
- Slack - for quick questions and clarifications (the outcomes of which would be moved over to Jira) and for coordination, help, etc. (eg. of deployments).
- Ad hoc video - for discussions and clarifications which would take too long or be too difficult in writing.
- Email - one-directional longer communication, eg. project status update, etc.
Remote work requires technological assistance. Luckily, there are multiple pieces of software that make it much easier to coordinate and communicate in a remote team. Below I am describing our choices.
Jira for project management
Jira is our main tool for managing projects. All project communication happens in JIRA. This is great because everyone can access all information from anywhere on earth and at all times. Thanks to clearly defined tasks there is no ambiguity as to what has to be done and who should do it. You can read more about how we use Jira exactly in our post about the support process (https://www.droptica.com/blog/how-drupal-support-works-droptica/).
Slack is one of the most widely used messnger. It allows teams to quickly post messages visible to everyone else. Each project and team has its own channel that helps people to only ready information relevant to their work.
You can read about why and how we use slack in our blogpost Slack and its 8 super powers.
Google meet / Skype / zoom
There are quite a few video conferencing tools and we use them interchangeably depending on client requirements and expectations. Video conferencing is very helpful to reduce the distance between people working on a project. This helps because sometimes they never see themselves in person. Here are a few things worth considering:
- Camera is ON - video conferencing works much better when everyone has his/hers camera turned on. When people see each other, they can build a much better rapport with each other.
- Good quality microphone - there is nothing more annoying than muffled and breaking sound. Investing in high-quality headphones with a microphone will increase the overall experience of all participants. In Droptica, every new hire receives a brand new headset to use during teleconferencing.
- Background - It makes sense to turn around and see what is behind you when you teleconference. A white wall might perhaps be better than a sink with unclean dishes. Zoom is great in that space because it allows you to choose a picture to replace your true background. Part from that check for background noise. It will be really annoying for other participants, so turning down music or finding a quiet room is a good choice.
Great processes will not be enough to build a great team. To work really well together, people have to get to know each other a bit. There thankfully various team-building exercises you can undertake.
- Periodic team retreats - In Droptica we organise 2 such events every year so that everyone can meet face to face in a setting which is not work-related.
- Videoconferences just for fun - We hold a “always-on” video conference just for socialising. Additionally 2 times a day there is a coffee reminder on our Slack. If you want to chat with someone these times are most likely for you to meet others on the channel.
- Staff meetings - online events in which everyone meets to get updates about what is happening in the company
- Online training - given by one team member to others in which discussions are held between employees.
Remote work is not super hard but it requires additional focus on project management and communication.