At Novoda we fully embrace remote working: we have different offices, teams spread across several cities, countries and even continents. To efficiently communicate and work together we use a set of tools we selected and we perfected their usage over the years.
Here you can find the most important and valuable ones for us and some best practices we adopt to get the best out of each tool.
Instant Messaging (Slack)
Communication is key in a team, and even more if team members are distributed in several locations. The tool we use the most, internally and with our clients, is Slack. We use it on a daily basis and it allows many reporting integrations to help improve the process for projects. Some of these integrations:
AppFollow: Reports on any review of an app we have in the Google PlayStore. Provides a trend over time.
Jira: Reports on updates to tickets, this can be configured based on what sort of notifications are required.
Pull Reminders: Notifies developers of assigned PRs, comment updates and outstanding reviews.
Continuous Integration Plugin: Reports CI job success and failures. Most commonly used at Novoda are Jenkins and Circle CI plugins.
Calendar syncing: Can change personal status to surface when in meetings / change do not disturb settings, reminders of calendar events. Most commonly used at Novoda are Google Calendar and Clockwise.
We noticed that remote workers need to be more active in Slack to make up for their lack of physical presence. We need to actively seek out opportunities to engage with our team members and clients.
Remember to notify when online / offline / attending meetings and for other status updates. Some Slack groups will have a specific channel for this. Make use of Slack integrations that can help automating your status update.
Video Conferencing (Google Meet)
We use Google Meet as a conferencing tool for many of the team and company meetings involving more than two people. It’s especially useful for large meetings where some attendees are at an office that has a chromebox connected to a large tv and a webcam. Another use for Meet is to have a constant connection between offices and remote workers. We call this “the Wormhole” and anyone can connect to it at any time to speak to somebody in a different office.
Remote workers need to have more of a presence in meetings, try to actively engage in conversations. It’s very important to always have an active webcam. This makes it easier for other attendees to interface with remote workers, compared to a static avatar.
When organising a meeting with several people in one room and other remote attendees, it’s very important to have a dedicated, high-quality external microphone, so that voices are better captured than using a laptop microphone.
Possibly the most important tip for meetings in general, remember to have only one person to speak at a time.
A more company-wise practice we adopt is to have a daily standup in the morning. This is a great opportunity for everyone in the company, remote or office-based, to connect, converse, see each other, share information about different projects, even for only 10 minutes.
At Novoda we regularly do pair programming and this technique is not at all limited to people in the same office! Tools like Slack allow one person to share their screen and have other connected people to draw to guide the person typing.
Pair programming is very powerful especially when driver and navigator swap often, to have a clear point of view. Plan your work with small goals (achievable in half a day or less) and when that is achieved swap the roles. Remember to use all the available tools at your disposal, especially the drawing one to attract attention to part of the shared screen.
Agile Project Management (Jira)
Most of our projects follow Agile methodologies and proper tools are needed to follow the project progress. THe most used one is Jira. Each team will typically have a different workflow but in general the story tickets are created according to the roadmap. All members of the team groom the tickets and help with prioritization before starting the actual development.
When a ticket is selected for grooming try to look at it before the grooming session to understand it properly and come up with questions and possible complications that will need to be addressed. By the time the ticket is selected for a sprint, there should be little to no ambiguity remaining. Whilst working on a ticket, try to document the progress at least once a day, with the aim of allowing anyone to pick up where you left off.
The Version Control System (VCS) we use for most of our projects is through Github. This contains the repositories we commit our code to and it might be hosted by Novoda or by each client. Associated with the VCS, we use Pull Requests (PR) in our process to make sure each change in the code is reviewed before getting merged. At Novoda we strongly believe in the importance of open-source, and we maintain several open projects. These range from sample applications to libraries used by several other projects. The processes and practices used for these projects are not different than the ones applied to closed-source projects for clients.
We have a lot of best practices associated with GitHub and some might depend on the project.
For large projects (with at least 5 people) each PR will need at least 2 reviewers to approve it before someone, other than the person who opened the PR, is able to merge it.
PR description should have enough detailed information to provide context for reviewers to be able to give constructive feedback. This is especially important if we consider the longevity of a project where a detailed history can help solve problems or lack of documentation.
Pull request templates can be very helpful making sure a PR description contains all the information needed by a reviewer to properly understand the changes.
Google Drive suite
The Google Drive suite of tools is a great alternative to file-based programs (like Microsoft Office), especially when collaborating remotely on a document. It allows multiple people to edit a document at the same time and easily address comments and suggestions.
When reviewing a document, prefer using the Suggesting mode, so that all the changes done to the document will be clearly visible to the author and they can be addressed individually as separate suggestions.
Calendar (Google Calendar)
Google Calendar is just an example, but it’s very important to have shared calendars for events.
Create calendar events for every meeting, even 1-on-1 or casual catch-up chats, so that all the interested people are notified about the event and the attendees are automatically set to busy during that period.
Always write an agenda as the event description, so that all the invited people know in advance what to expect and are able to arrive prepared for the event.
Consider lunch break and working hours in different time zones. Try creating most of the events in the core hours, common to all the people interested in the event.
Ensure that all calendar invites have a link to a Meet session (or alternative videoconferencing) so that remote people can attend.
Bonus point: if the meeting is recorded using Google Meet, the video is then automatically accessible in the future by attendees straight through Google Calendar.
Being remote can make you feel lonely sometimes, especially when working alone from home. There several services trying to solve this and the common approach is to use a dashboard showing all your available colleagues. One of these services is Pukkateam, but at Novoda we created our own open-source alternative: Peepz. This is a dashboard accessible both via web or an Android app, showing all the online colleagues and it can periodically take a picture of you and display it on the dashboard.
Promote daily themes for your pictures, make plenty of funny faces and encourage others to use the dashboard. It really helps to make remote workers feel as part of the team.
This is just a small set of the tools we use daily and are really improving the way we collaborate remotely. If you are a remote worker or planning to make your team more remote, these tools are a great start, but if you know any other tools you use and help making your remote life easier, let us know!
Do you want to know how an integrated remote team could benefit your digital product?
Get in touch and begin conversations with our experts to make sense of your mobile product and discover how our remote culture and practises could provide value to your business.