It's been over a year since I last wrote anything about mob programming, but time hasn't stood still. At Mag+ we've continued to use mob programming in various ways and contexts; experimenting with mob sizes of 3-7 as the team size and interest wane and wax. I'll be revisiting mob programming at Mag+ in a later post, but for now I'd like to take a step back and briefly bare witness of what I've seen and been a part of outside our particular pond.
Last fall, Woody Zuill visited Stockholm again and I had the honour of being a supporting act during the mob programming workshop he held at the Stockholm Ruby meetup hosted by Mynewsdesk. The technique was well demonstrated, but the example might've been too simple to be completely convincing to that particular crowd. Keep in mind though that a few brave participants were exposed to the gaze of a friendly, but large audience - quite unlike a normal mob programming setting when you only have to overcome any misgivings of coding in front of your own team.
A few months later, I facilitated not one, but two simultaneous mobs at the Stockholm Elixir meetup at Campanja. I found it very encouraging to see both mobs galvanise around solving the non-trivial task of building a key-value store adhering to a mandated API. To my great pleasure, both mobs solved the task at hand within the allotted time. Moreover, both teams took a liking to and saw the value in mob programming when tackling an unfamiliar problem, in an unfamiliar language, surrounded by a set of unfamiliar faces. Being able to solve and demonstrate a solution to a problem in a few hours under such circumstances is no small feat and I couldn't been happier with the outcome.
I stated that I'd be writing about the continued adventures of Mag+ in mob programming land at a later date, but one thing I do want to mention is the study visit a few Barsoomians made to our team. We demonstrated the technique working on a completely new project and got some very valuable feedback on the approach we took. While our friends left us mostly unconvinced of the value of mob programming in their context, we did go on as a mob to lay the foundation of a piece of software that so far has garnered high praise from the customer it's been given to. The shared understanding and collective code ownership that was put in place during those early mob programming sessions has made it a lot easier to rotate team members in and out of working on that particular code base.
This brings us well into the now no longer so new year. About a week ago I had lunch with friends and colleagues trying to get a mob going in the company they work for. We discussed a number of challenges they had encountered and ways around them. As always with these type of conversations, I tend to get just as many new ideas and perspectives in return as I can share so now I'm eager to try a few new things when it comes to my own team's mob programming practices.
Lastly, I'm scheduled to facilitate an external team's first mob programming session. I'm greatly looking forward to it and rest assured that you'll learn how it went in a few weeks time.
Until next time, may the mob be with you!