While many of us are big fans of ‘mob’ (mafia) classics like ‘The Sopranos’ and ‘The Godfather’, in fact this article shows how mob (‘collective’) programming can help shape a new team and how great results can be achieved quickly through this collaborative working approach.
We launched our new team on 01.08.2021 with the mission to rebuild the whole process around handling drop-shipment orders. In top-level terms, our goal was to route new orders from the OTTO Marketplace for drop-shipment to the customer directly from the supplier, instead of routing them via OTTO warehouses. At the same time the suppliers were to provide us with core data such as tracking information etc. As we were not alone on this journey and were to be part of a bigger process, we opted to do this in a series of smaller steps, starting with an MVP.
As the new team began to form and the first members joined, the initial challenges started to crop up. Instead of leaving everybody on their own and giving them dedicated stories (we live and breathe Agile) we decided to try out ‘this mob thing’. As I had had (some) previous experiences with ‘strong’ mob sessions in my previous team, my goal was to convince our people to try this out. Easier said than done, as we were all new in this team and didn't know each other yet. So we established common ground and just did it! #einfachmalmachen #justdoit.
Our team consisted of four people. We worked together in an Agile manner, which means that every two weeks we jointly formulated new goals for our sprints.
Here’s a brief digest of "living in the mob" for several months – day in, day out. We almost exclusively used the ‘strong’ mob approach where we had the ‘driver’ sitting at the keyboard and the group as ‘navigators’ telling the driver what to do. For screen-sharing we used Microsoft Teams.
At the start, enthusiasm in the team for mob programming was not universally high. Some reasons for this were:
Our experiences after several months working exclusively with mob: Simply and briefly - awesome!
Tools we use:
After more than half a year in the mob, as I mentioned we’re thrilled with this form of collaboration. But of course, there are also some challenges and you need to be aware of these before you decide to try out this programming approach.
Our challenges summarized in brief:
When we started programming in the mob, I had already gained some experience. Half a year later, however, we are much smarter and have learned a lot!
Our most important learnings:
‘Once in the mob, forever in the mob’? Well, we have not yet been able to determine this. As new team members join, our group will grow. We will then re-evaluate whether mob programming is still for us. More likely, we will then opt for pair programming and some mob sessions to share expertise within the team. We will also temporarily invite team members from other teams to our sessions. Currently we are all working 100% from our the mobile offices. Time will tell where we go from here – but we feel well-prepared and are looking forward to new challenges. 😊
Join our team remote as Software Developer
Thank you Marcel for sharing these insides for mob programming. Well written by explaining the approach and outlining pro's and con's. The most valuable part I think is what you have shared in-between: as our Organisations grow and change we need to test and try various techniques in working together under various circumstances. It needs people like you pushing them forward. It was a pleasure to read... Thomas
We have received your feedback.