Pair programming during quarantine Tiit, Jaan, 11 May 2020
Pair programming is a strong part of our DNA. 10 years in the business as Codeborne has proved it works and works well. And then the COVID-19 locked us all in our homes. What next? Easy, we continue the same way, programming in pairs. How is that happening?
Says Erik, one of the founders of Codeborne, "Dropping that core working principle - this was not even a question! We knew it would be harder remotely. But not impossible. And each pair can have different solutions given the varying skill levels between pair mates and preferred operating systems."
We have our weekly TEX when we put our work aside for an hour and someone from the team or even someone outside our company shares something new. The first TEX after the quarantine was announced in Estonia was devoted solely to remote tools to facilitate pair programming.
Says Kirill, who presented Tuple at the TEX, "I remember Erik once advertised it during some past TEX. But he had not tried it himself yet 🙂. The day before the quarantine we had to choose how we will work in the “new era”. I recalled Tuple and this is how we got it installed on my laptop and later configured on our workstation which my pair mate Elina took home.
The installation went smoothly. We did some testing right away. One of us was hiding with a laptop “around the corner”, the other used the workstation. We tried ping-pong programming - I wrote a failing unit test and Elina made it pass. When all this succeeded we knew we were all set!
Says Elina, Kirill’s pair mate, "I had never heard of Tuple before, Kirill introduced it. It was said to be a great tool for pair programming. We were lucky to both have a Mac’s and thus decided to give Tuple a chance. Surprisingly, everything went smoothly from the very beginning. We were able to start pair programming from the get-go. Taking control over the Host is very easy - one-click and then Guest can do whatever he pleases 😃. The great advantage of Tuple is that you don't need any additional Audio/Video sharing tool."
What happened when we switched pairs (a regular routine) and the new pair mate used a different operating system?
Says Misha, "At the start of the quarantine, I was working with Jaan. We needed a setup for developing an iOS mobile app, but unfortunately, neither of us was a Mac user at the time. This meant that we had to borrow a working station from the office. I was a remote host and Jaan was connecting from his home Windows machine. We could not use Tuple as a screen sharing solution (as it is Mac-to-Mac only), so we settled to use TeamViewer instead. For voice audio we used Discord and it was a pretty pleasant experience.
At some moment we switched pairs in our project and I started to work with Aho. This time we could use Tuple for remote pair-programming sessions and it was definitely the best tool for the task. Onboarding was painless and one of the best features of it is that you can have audio and video streams at the same time."
Erik summarizes, "In conclusion, I would say that remote pairing is definitely possible and - given good internet connectivity - also relatively painless.
But there is definitely some loss of communication quality and even more if you have more than 1 pair in a project. Getting more people onto the same channel takes much more effort than looking across the desk and just asking a question. Keeping team communication active and focused is a harder task remotely
Already mentioned Discord was added to our communication tool list as well and definitely deserves praise. It allowed us to quickly switch to a shared audio channel for ad hoc discussions and also share the screen if necessary. As well Whereby was used for several internal and external meetings, for instance, meeting our UX team.
But regardless of fancy tools and the speed of your internet connection - it is the process and practices that are important and bring good results.
Active communication. Quick feedback. Courage to make changes. The simplicity of the solutions.
P.S. It was April 20th while we wrote the post, being 6 weeks in the quarantine and without any clue, how long it will last. Now as we are returning to our office team by team to resume pair programming as we know it, the new skills are ready to be used in the next occasion.