I have been thinking a lot about introverts and extroverts mob programming. I consider myself a so-called "ambivert" in that sometimes I am energized by being with others, and sometimes I am energized by solitude.
To be more specific, I have been thinking a lot about how much one really needs to talk or express their views/thoughts when mob programming.
When mob programming, a diverse set of programmers with varied skill sets agree to collaboratively work by taking turns "driving," or controlling the keyboard and mouse for the machine everyone is working on, and "navigating," or helping facilitate the discussion of the mob as it tries to build software collaboratively. Often, a mob timer is used to help make the process of switching roles easier for the mob, and to help build in much-needed breaks into the workflow.
We talk a lot about driving and navigating, and the theory that "for an idea to go from someone’s head into the computer it must go through someone else’s hands," but if someone else had a killer idea, and if you're not the one typing... what do you do?
Well, it's definitely best practice (and a favor to yourself and the rest of the mob) to be engaged with what the current driver and navigator are doing! I would also advocate for taking a turn to simply observe what's going on. This allows you a moment to think about and absorb the code changes that you helped contribute - and also allows the mob to naturally regulate how much each individual speaks, so as to avoid any one person dominating the discussion.
I like to joke to myself and call this pattern "drive a turn, navigate a turn, zip your lips a turn" but a kinder way to phrase it might be "drive a turn, navigate a turn, silently observe a turn"
You may find that in your day-to-day mob programming, navigation is more loose and less strict - in other words, everyone may discuss the work at hand during a given turn, instead of simply the navigator talking. If you practice a more loose navigation style, I think taking the time to observe a turn is even more valuable as the rest of the mob will continue the discussion and you can follow along.
If your mob is 3 people or less, this pattern can deprive the rest of the mob from a productive, collaborative discussion - I would recommend this pattern if your mob is at least 4 people.
Taking the time to sit and think - and allow your peers the time to sit and think - is a favor to yourself and your fellow mobbers. It can help rewire the instinct to weigh in on every comment if that's your tendency, and can give you a much needed reprieve from constant chatter if that's your tendency.
Happy Friday, everyone!
A reminder of the spirit of mob programming at Hunter:
Some resources if you're curious about introverts/extroverts mobbing together:
- Mob Mentality Show episode "Introverts vs Extroverts in Mob Programming?" on Youtube
- Agile Alliance experience report "Mob Programming for the Introverted" by Aaron Griffith