Being NAIS at a distanceHow we work in a hybrid world
In this post we will share how the NAIS team works and how the pandemic shaped the way we go about our business. This is by no means a recipe for how to do things, merely a summary of the things we have found to work well for us. YMMV.
When Norway shut down in March 2020, NAV IT (like many others) suddenly found ourselves working from home. Luckily, we had been working systematically on improving our developer experience ever since the “reboot” of our IT effort a few years earlier. We were already well on our way to move our code and infrastructure to the cloud, and as a result of this we were able to create solutions to aid those that were hit by the pandemic in record time.
As society slowly started opening up again, NAV IT found ourselves facing a difficult question: where do we go from here? Remote work had served us well. Some of us looked forward to returning to the office, while others had no desire to go back to commuting and asphalt style vending machine coffee. After a bit of back and forth and some legal gymnastics our management gave the teams the authority to figure this out for themselves. Some teams returned to the office, but most of them (including us at NAIS) ended up with a hybrid solution. Now that the technical and legal hurdles had been overcome, we also started recruiting people living in other parts of the country.
The NAIS way
The most important thing for a hybrid team is to avoid it splitting into two groups, those at the office and those at home. Our way of countering this is to center everything we do around a Zoom room affectionally known as “the Froom lobby” (named after Frode, the original owner of the room). This room is open for everyone 24/7, and everyone on the team has access to the host key. The first person to show up in the morning creates breakout rooms (as Zoom forgets them overnight and doesn’t have an API to automate their creation), and names them according to a theme of their choosing. As our team mates emerge from slumber they join the Froom for their morning coffee and chit-chat.
Next, people team up in the breakout rooms to get on with their tasks. We practice pair or mob programming as much as possible, so a breakout room will typically host anything from 2 to 4 or 5 people. There are two main benefits to this approach. First, when a task is completed it is already peer reviewed and can go straight to
main and into production. No extra pull requests or reviews required. Second, the knowledge of whatever the group was working on is distributed and thus avoiding unnecessary knowledge gaps.
If someone is working solo on a task they choose if they want to do so in the lobby (with a high probability of interruptions) or if they want to withdraw to a breakout room. If extra peace and quiet is required a couple of the rooms are marked with “Do Not Disturb”. Anyone in these rooms can enjoy some well deserved tranquility confident that they will not be disturbed unless something really important is happening.
As previously mentioned the Froom is open to all. You just need the link. If we need to talk to someone from outside the team we invite them in, or if someone wants to talk to us they can just drop in at any time. Even though Slack is our main form of communication with the rest of the organization, having the Froom significantly lowers the barrier for those that wish to talk to us “face to face”.
The biggest challenge we have encountered during this transition is the audio and video equipment at the office along with its layout. If three or four people in an open environment are working in different breakout rooms the ambient noise can become unbearable unless they wear noise cancelling headphones. Oftentimes you will see people escaping into meeting rooms to avoid this. When we have common meetings for all our team members the best solution we have found is to gather around a single laptop and use a Jabra conference room microphone. It’s not ideal, but it kind of works.
So, this is how we have chosen to do things. How does your team handle being hybrid? Did we miss anything important in this post? Does your team have a setup that actually works at the office? Give us a holler, we are always willing to share.