This is the third post in a series on distributed-classroom training.
Last week I was sitting on Zoom with a fellow veteran of the services industry, swapping war stories about our forays into virtual training. He remarked that I would probably never again sit in a classroom, delivering software courses in the traditional way. I don't agree - but ever since I've been haunted by the thought that he could be right.
Let's examine the case for and against.
The Case for Killing the Classroom
Most training providers have been on the same journey over the past few months. First you build a platform for delivering remote training, then you convince your clients to try it out and (hopefully) the response that comes back is positive.
Our experience is that, as in other sectors, social isolation has pushed companies to move beyond existing workflows, adopt new technologies and experiment with innovative ways of working. It turns out that it is possible to take the classroom into a virtual environment. There are some basic rules to be followed - keeping cameras on, adhering to strict timelines, offering multiple communications channels and making practical work as asynchronous as possible. But when you put the right environment in place students are pleasantly surprised as to how social and interactive the resulting delivery is.
The one crucial element that is missing is the presence of a rapid feedback cycle when it comes to setup and completing exercises and other practical work. Each vendor has to find their own ways around this, given the many factors that vary across different types of training. On the one hand you could have a process improvement workshop, which would traditionally involve the group collaborating around a whiteboard. On the other you might have a certification course that requires lots of individual work and a proctored exam at the end.
When it comes to courses in software development the good news is that we already have an embarrassment of riches to facilitate distributed code review. After a survey of what was available we went for JetBrains Space as the best all-rounder. Space allows us to host our Git repositories inside one or more Projects - where the instructor can view each students submissions and then annotate the code, begin a private chat, open a formal code review or share with the other students. This enables us to offer the fast feedback cycle that is so crucial to learning a new framework or language.
In summary I would say that, to my considerable surprise, we've discovered that virtual training can be an enjoyable and rewarding experience for students. Even if the current pandemic would be to end tomorrow we would still be recommending this option. Especially for teams that were already distributed and clients outside Ireland where the time and expense of travel made our offerings less attractive.
The Case for Clemency
Despite all the above I still believe classroom training has a place.
Firstly there are certain events where having everyone in the same room is essential. Event Storming Workshops where requirements are being defined across diverse stakeholders. Process Workshops where we are trying to remedy flaws in a client’s use of Scrum, Kanban etc… Hackathons where developers are moving around, sharing ideas and brainstorming with Lego or (literal) wireframes. Until Virtual Reality becomes a (well) reality events like this will remain so much better in person.
Secondly students do report they miss the same things that make conferences worthwhile. The 'water cooler conversations'. Discussing the material over a shared lunch. Meeting colleagues in person who were only ever emails before. We can mitigate against the loss of these but we can never entirely replace them.
Thirdly, and more subtly, virtual training inhibits innovation. Running a course virtually requires a lot more prep, because you have to be explicit in advance about all aspects of the setup. Any consultant will have experienced what we unlovingly refer to as 'corporate laptop hell' and 'enterprise network voodoo'. This becomes far worse when all the students are remote and inserting the complexities of their own personal office space.
Hence the temptation to stick with what you know becomes very very strong. In the classroom you can always scrawl new instructions on the whiteboard, and bounce around the room till everyone gets it. In the worst case you can always pull the reserve laptop from the cupboard - which you just happen to have configured against 'the laptop that time forgot'.
We Preside, you Decide
Ultimately it's yourselves, the clients, who will judge whether classroom training survives. My personal view is that classroom training will re-emerge after lockdown. But will be more of a special treat than it is currently. Developers will be spending much more time working remotely, and only venture into the office for important events like planning sessions and retrospectives. Classroom training will fall into the same category, and the emphasis will be as much on bonding as a team and exploring the material together as about listening to lectures and doing exercises. Needless to say we are putting steps in place to facilitate this kind of learning :-)