Dieser Blogpost ist auch auf Deutsch verfügbar

New online workshop formats on the horizon

Let’s face it: Nobody can stare at over 100 PowerPoint slides shared by the instructor for seven hours straight. Fortunately, I’ve learned my part back in pre-COVID days and created many of my workshops based on the book “Training from the back of the room” with a high focus on interactive collaboration among participants (that is an own story for another blog post, though).

A few weeks ago, I tried out another format: Mobshops. A Mobshop is an interactive workshop format with remote mob programming as its core teaching technique (aka Mobshop = mob + workshop). My colleagues, who created a “Remote Mob Programming” online experience for teams, inspired me heavily.

In their workshops, an instructor and a team of five solve a programming problem. The team itself alternates between different roles continuously:

Overall, the “Online Team Event with Remote Mob Programming” is a very intense format and especially an excellent experience for software development teams who want to collaborate more effectively remotely.

Refactoring workshops

I’ve been playing around with the idea of remote mob programming for my Software Analytics online workshops. In these workshops, participants learn how to use Data Science techniques and tools to analyze problems in software systems in a data-driven way. With the results or facts they create with these kinds of analyses, one can base decisions on actual data (instead of gut feelings only).

These Software Analytics workshops always had a good amount of interactivity, e.g., by using participatory live coding. With this teaching technique, an instructor writes and explains code loudly to the participants. Participants join in by copying the same code the instructor provides by typing it off in their programming environment and executing it there.

We‘d love to show you a YouTube video right here. To do that, we need your consent to load third party content from youtube.com

I’m using the Jupyter notebook system together with Python and pandas in my workshops, which works really well. Participants can directly play around with the analysis code and learn how the stuff works immediately. With an introduction to Software Analytics and plenty of other exercises, it made a nice two-day workshop experience. But there were also two weaknesses of the workshop: the time needed for the fully-fledged workshop and my passion for creating PowerPoint slides.

Software Analytics is a very underrated topic. It’s a convenient tool if you need to evaluate some data during software development. In the ideal case, you would be able to pull out Software Analytics from your toolbox to analyze your software system’s problem in a data-driven way. But it would help if you had at least some basic understanding of how data-driven software analysis works. This needs some time to learn. So I’ve created a shorter version of the workshop that is only a few hours long to give participants enough knowledge so that they can work on their own.

The other weakness that the workshop’s current variant has is me because I love creating slides in PowerPoint! Although they are no “sliduments” but more styled in a graphical way, there were plenty of them! But the risk was that I would reach the 100 slides per day mark. I found this very scary. So I had to find a solution that stripped down the content to the essential parts one would need to get started with the Software Analytics, too, and provide references to additional resources for all the other important stuff.

What is a Mobshop?

Core elements of a Mobshop
Core elements of a Mobshop

The idea of a Mobshop was born with some heavy constraints for such a workshop format:

5 people - 5 hours - 5 slides

Why 5’s?

Let me explain how I approached this challenge by giving you some examples in the following. The workshop structure followed the “I do, we do, you do” model excessively:

I’ve created some (participatory) live coding examples that explain Software Analytics concepts in practice. In one part, I live-coded an analysis that also explained the steps of a typical data analysis and data cleaning best practices. The demo alone incorporates at least material from 20 slides where I would have explained the concepts in a more detailed but also more abstract way.

Demonstration of key concepts using live coding
Demonstration of key concepts using live coding

The downside of demonstrating is that the format isn’t very interactive for the participants. But that’s not too much of a problem since the session only lasts half an hour. The following part was a participatory live coding session where participants coded along with me. I explained further details and gotchas when using Software Analytics in practice. Both programming exercises were embedded in real-world scenarios with different kinds of data sources to ensure that we cover a wide range of Software Analytics applications.

Where is the mob?

With these techniques, I could teach the basic principles of Data Science using software data and the mechanics of the used tools. As you may have noticed, both teaching techniques deviate from remote mob programming “by the book.” You’re right! My main obstacle was that the mob needs some expertise with the data analysis tools to perform an analysis independently. I thought about ways to let participants learn new things with the least amount of time explaining things by me.

I came up with the idea of “Cheatbooks” for the Software Analytics Mobshop: Executable programs in the form of Jupyter notebooks that explain the core concepts of the used data analysis tool “pandas” interactively. With Cheatbooks, I challenged the participants of a mob to explain what would happen before executing the statements. The mob could also play around with the examples if they want to dig deeper into the learning material. I sprinkled in these exercises to equip participants for the following analysis challenges (so-called “Software Analytics katas”).

A Cheatbook that explains working with time-based data
A Cheatbook that explains working with time-based data

These challenges were the main part of my Mobshop. The participants programmed an analysis via remote mob programming. Technically, we all used a shared Jupyter Hub instance on AWS EC2. This approach let us share our work and, more importantly, the current state of the analysis notebook the mob was working on. Together with the video conferencing platform Zoom, this enabled us to hand over the work within the mob in almost no time: One participant just had to save the work, the next one “stole” the screen share, and (re-)loaded the notebook. Done!

The interactive Mobshop session in Zoom
The interactive Mobshop session in Zoom

How did it go? Actually, pretty well! At this point, the mob already knew the structure of a data analysis and the data analysis tool pandas' essential features. The navigators switched back and forth between the current analysis notebook, the previous notebooks from the demo and participatory live coding part, and the Cheatbooks. They moved forward by discussing the steps to take next and told the typist what to do. Sometimes, a slight hint from myself kept them “on track.” I was really happy with the results and the performance of the team 😊 .

Conclusion

All of this worked amazingly well, making the Mobshop an engaging workshop format for interactive online workshops. The participants and I learned a lot during this short session, and the feedback was very positive. Using remote mob programming as the main teaching method fitted perfectly. And if you are familiar with the Learning Pyramid, you’ll notice that the used teaching techniques used the activities that make the learning stuff stick.

The Software Analytics Mobshop and its relationship to the Learning Pyramid
The Software Analytics Mobshop and its relationship to the Learning Pyramid

I think that the participants got the most out of their invested time. What’s coming next is that I’ll integrate some lessons into future Software Analytics workshops as well. I would love to see you there! Or if you want to experience the (as of today) one and only Mobshop that’s out there: Give me a call!

Many thanks to my colleagues that participated at the first Mobshop, Anja Kammer, and m for their feedback on an earlier version of this article and others for the discussions!