If you are new to this topic, please read my article about Why You Should Do Coding Dojos. That article will cover the whys and hows for conventional face-to-face Coding Dojos.
This article here will just deal with the differences.
During the pandemic, it is obviously necessary to shift a lot of activities to remote-only. In agile teams, this holds for Dailys, Retrospectives but also for Coding Dojos.
We had a pretty stable team for years but now we got 4 new developers which created the necessity to start a regular Coding Dojo again. As the new developers were not at the same location anyway, it was clear that we needed to do this remotely.
Coding Dojos are more about social interaction and team building than they are about practicing to code. Everyone who attended one or two online workshops knows, that a large percentage usually keeps mostly quiet, more then in a face-to-face situation. Sometimes you cannot even see them because camera is switched off.
This needs to be addressed in a remote situation.
First, by having the camera always on. I had the video screen on the right of my wide-screen display and the IDE on the left.
Second, by good moderation. It is important that one team member focuses only on moderation without joining the codingt. That moderator should actively try to get all team members involved by asking them, especially the introvert ones to create a more balanced distribution of speaking time.
Use hand-raise function of the collaboration tool (if available) to ask simple yes/no question to the whole team to prevent awkward "everyone/no one talks" situations.
For a remote Coding Dojo, you obviously need more than a Laptop, keyboard and mouse to get successful.
We used MS Teams for voice and video call, chat as well as screen sharing and remote control. Especially the latter is crucial for a successful Dojo.
The idea should still be to have a single computer that the whole team works on. We tried IntelliJs "Code With Me" plugin (similar to VSCode Live Share) but it was lacking basic functionalities like "Create Files", typing was extremely laggy (3-5s latency) for most attendees and auto-completion did not work for some reasons. This might get better in the future.
So we quickly moved to using the "Request Access" feature in Teams which supports multiple cursors and was generally snappy/low latency.
As an alternative, you could try git hand-over with shifting the screen sharing session. But that wastes a lot of time every 5 minutes and distracts the others with different resolutions, color schemes and maybe even different IDEs/editors. I would not recommend that.
If you have people with different keyboard layouts in the team that control your computer, you should install and switch the layout accordingly to allow them to work as they normally do. This is usually also true for F2F Dojos but since people might have different keyboards at home it is worth to think about that beforehand.
You should test the setup first with one team member. E.g. MS Teams eats a lot of CPU resources which can create lag on its own when running the application or tests in parallel. You have to test that everything works as expected in a screen sharing + video situation.
Some short advices based on the sections above:
- Camera always on
- Good & focused moderation
- Tested and well-prepared tool set-up
It worked pretty well for us and was a lot of fun. I would think that remote Coding Dojos are not less effective in a remote situation, they are just different.
You should try it!
Did you already try it? Leave a comment how it went and if you have suggestions!