From on-site to off-site
Transforming an onsite engineering team into a remote environment
With COVID-19 spreading all over the world and putting the world into a global pandemic, 2020 went different as we all expected. It’s affecting not only our private life but our work life as well. Even though we are working in a full-digitised work-environment at Alasco we faced new challenges: organizing our everyday life not in the office but from home and transforming our team into a remote engineering team.
How were we organized before?
Since the beginning of Alasco the engineering team was focused on having every team member on-site in the office. Advantages of on-site teams are e.g. easier day-to-day meetings, simple communication and a great team spirit. Further we are trying to pair program as much as possible, which is also easier to do in person.
Which challenges did we face?
After we got the information that we needed to shift our office mode to home office we had to face new challenges without much preparation. The communication within the team always focused on being as transparent as possible. Our focus on frequent and direct communication was hampered by the sudden full remote setup.
Further we had daily routines which are pretty important for keeping up our team spirit. Having a small coffee break or lunch together wasn’t possible in the way we knew it anymore and we would have to find a solution for that as well.
When we are working on our user stories in our Agile Development process we actively try to work in pair programming on the same screen. Achieving the same experience in a shared-screen environment can be exhausting and less productive. There are a couple of tools for that but doing everything face-to-face does increase the effectiveness by far.
How did we solve them?
First of all what we did was that we still kept our daily meetings running and switched everything to a simple video conference with everybody. We have two fixed meetings every day (one check-in in the morning and one in the afternoon). In this meetings we update each other and identify problems which could lead to problems in our user stories.
Even more important than usual is to keep every user story small and simple. This should be a goal for every story but having a digital only setup this is crucial. To tackle the story in pair programming wasn’t always possible. We tried to execute it still as much as possible with tools like Google Hangout, Slack screen-sharing or using the live share feature of VSCode. In situations where it wasn’t possible we tried to compensate that with more coordination via short phone calls.
To still live the team spirit it was really helpful that every team member was actively looking for each other. Asking if everything is alright, help is needed or having virtual lunch together is only a small gesture but has great impact especially when people are in an enclosed environment. For doing that in a more organised way holding a retro could be a useful tool. In order to have a shared space for documentation in a retro we made good experience with using e. g. TeamRetro.
What I think is important for making this transition
Last but not least I would like to close this blog post with my six learnings during our process to become a remote engineering team:
- communicate and share (even it’s small) information as much as possible
- keep up your daily routines
- stay open for new ideas and processes
- ask questions as much as possible
- short breaks and talks help to keep up the team spirit
- even more focus on code reviews to help a common understanding on things