-
misconception, that remote working is just about the tools - tools make only possible what has to be learned
-
However: "Pretty much everybody works remote on the Spring teams. So tools like Slack, Google Hangout, Skype, E-Mail and even Twitter are essential" (from Working on the Spring Data Team)
-
Gather those requirements together with the participants on a flip chart. Add hard- and software solutions later.
-
text / messaging
-
voice with excellent audio
-
video with good quality
-
screen sharing (code review, presenting)
-
knowing everyone’s current status
-
collaborative software development (= everything dev-related you can do with your colleagues sitting next to you in an office)
-
collaborative working
-
multiple monitors
-
your favorite keyboard (not just from notebook) - you have to be able to type really fast
-
in the office: noise-cancelling headset with adjustable microphone (not just within earphones)
-
at home: (for me) microphone in notebook sufficient
-
however: don’t type on notebook while being un-muted because of noise
-
built-in webcams these days good quality
-
peripheral webcam can be moved an adjusted
-
my setup: content on two screens directly in front of me + laptop screen with built-in video on the side ⇒ colleagues see me from the side, but also notice when I’m doing this vs when I’m listening to them + looking at them
-
good practice: one screen just for video stream - don’t minimize video stream!
-
company setup: Microsoft Skype for Business
-
additionally Slack-chat for
-
team-wide announcements
-
"over-communicating" content that might interest others
-
very useful in stressful situations with a lot of spontaneous task management like right before deployment
-
-
next step: chatbots
-
general advice: keep everything digital, use proper tools
-
teach whole team to communicate via comments on platforms ⇒ tech them to write properly!
-
knowledge management:
-
wikis like confluence (better: Atlassian toolchain)
-
-
code reviews:
-
Atlassian Bitbucket
-
-
Skype whiteboard
-
Skype for Business: every user able to generate URL with meeting room. Usa: Declare one of those rooms as default for spontaneous meetings and keep the window open to see what’s going on there and to meet quickly.
-
shared calender (Outlook, Google)
-
document management for ALL documents
-
In case of group-wide failure: have a backup communication channel (SlackChat if Skype fails) + recovery strategy ("If Skype fails to connect to our meeting room, let’s meet in Slack and talk about what to do")
-
In case of individual failure: for every team member, have a way to connect (best backup: telephone)
-
establish a procedure for interrupts, for example ringing door bell during group conversation: write "Someone is at the door, brb" into the group-wide chat. ⇒ current speaker is not disturbed + everyone knows what’s going on
-
use status messages in your messenger (Skype etc) ⇒ "Free for chat" (ICQ) vs "I’m busy" ⇒ that’s not even possible in "the real world" except you put a sticker on your forehead
-
establish understanding of "ping" / "pong" in messaging