Working Remotely
ref: Thoughtbot Playbook
A functioning remote team doesn’t happen by accident
Remote workshops and kickoffs
At the beginning of a remote engagement, when possible, everyone should meet in person for at least one work week. This is useful in order to get to know the team members better and to develop relationships, which will make it easier to communicate through asynchronous channels in the future
Well-defined roles and workflows
At the beginning of the project define who handles which role. If part of the team is remote, the whole team should work as if it were remote. We should over-communicate. Major decisions regarding the project must be documented online in a medium everyone is aware of and able to contribute to. This means that all project-related communication should be done in asynchronous channels that we already use, such as Discord, Click Up, and GitHub/GitLab. The only workflow difference using these tools when doing remote work is that we communicate all important information asynchronously, so that everyone stays informed.
In person communication during a project usually includes frequent updates on current work and various social interactions. The chat channels should be the space where we communicate, so that no one feels left out, especially team members who work remotely. Team members should also be conscious that asynchronous communication means that sometimes the other person is not immediately available to respond, and not expect them to. Furthermore, online communication lacks the non-verbal visual cues such as voice tone and inflection, facial expressions, and body language. We should be more careful in the language that we choose to use. A good reference is our existing code review guide.
Work hours
For some people, it is sometimes difficult to disengage from work when working at home. Also, flexible hours means that sometime one may work non-traditional hours in the day. We should generally be available between 10am and 4pm. We should be conscious to keep to a sustainable pace and take a break away from work.
Remote work promotes:
-
Flexible working hours over set working hours.
-
Writing down and recording knowledge over verbal explanations.
-
Written down processes over on-the-job training.
-
Public sharing of information over need-to-know access.
-
Opening up every document for editing by anyone over top-down control of documents.
-
Asynchronous communication over synchronous communication.
-
The results of work over the hours put in.
-
Formal communication channels over informal communication channels.
ref: Gitlab Handbook