0% found this document useful (0 votes)
199 views

Mob Programming Cheat Sheet

Mob programming is an agile practice where the entire team works together on the same task at the same time. One person acts as the driver who types code while one or more navigators provide suggestions. Teams rotate roles every few minutes to encourage collaboration and knowledge sharing. Effective mob programming requires open communication, mutual respect, and a bias for making progress through experimentation over lengthy discussion. When done well, it allows teams to build higher quality code faster by incorporating more perspectives and expertise.

Uploaded by

RicardoTaylor
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
199 views

Mob Programming Cheat Sheet

Mob programming is an agile practice where the entire team works together on the same task at the same time. One person acts as the driver who types code while one or more navigators provide suggestions. Teams rotate roles every few minutes to encourage collaboration and knowledge sharing. Effective mob programming requires open communication, mutual respect, and a bias for making progress through experimentation over lengthy discussion. When done well, it allows teams to build higher quality code faster by incorporating more perspectives and expertise.

Uploaded by

RicardoTaylor
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

 

What is Mob Programming?   Navigator(s) Role​ - Navigators direct the  entails too much direction, under-navigating 
"All the brilliant people working on the same  Driver. Usually it works to allow everyone in the  too little.  
thing, at the same time, in the same space, on  Mob to interact directly with the Driver. If that  ● Don’t sit and watch the Driver work. E ​ veryone 
the same computer." ​- Woody Zuill  causes too much chaos, have one Navigator  learns and contributes in a productive Mob.  
  give directions to the Driver and the Navigator   
“Mob Programming is continuous integration  serves as the voice of the Mob. Newbies to  Mob Responsibilities  
for ideas.” -​ Joshua Kerievsky  mobbing can ask for help on how to navigate.  ● Treat everyone with kindness, consideration, 
    and respect  
There are many ways to successfully mob. In  Driver Dos & Don’ts   ● Plan, discuss, research, and work out ideas 
general, there is one computer, a keyboard and  ● Drivers don’t navigate. If the Driver is the  on the whiteboard 
mouse, one or more monitors, a whiteboard,  only one who knows what to do, they can  ● If a Driver begins to navigate and drive 
one Driver and one or more Navigators sharing  relinquish their role as Driver to the next  simultaneously, someone else in the Mob 
a work environment like the one below:  person in the rotation.   can call them out on it.  
  ● Each Driver can share how they prefer to be  ● Keep the Mob going as people join or leave  
directed, including asking questions about  ● Stakeholders, Managers, Subject Matter 
intent, location and details. Ultimately,  Experts, etc. are welcome to join a Mob, but 
navigators must communicate in a way that  are not required to drive or navigate. 
allows the Driver to understand and take   
action.   Leaving/Joining the Mob​ - It is fine for 
● If no one is navigating, the Driver must stop  someone to leave or join the Mob for whatever 
  typing.  reason. If they are a Driver, they relinquish that 
Image by Mark Pearl    role to the next person in line. The person 
  Navigator(s) Dos & Don’ts   leaving should tell the team when or if they'll 
Ideal Mob Size​ The whole team, although  ● Navigator ideas can only be programming by  return so that the team can adjust the rotation 
teams of 3-6 people is ideal. Beyond 6 people, a  going through the Driver’s hands.  schedule. 
Mob may have difficulties keeping everyone  ● Navigators must pay attention to the Driver’s   
engaged. You can counter this with quicker  skill level. If the Driver needs word-by-word  Switching Drivers ​- The Driver switch over 
rotation times.  instructions, the Mob must explain in detail  shouldn’t take more than a few seconds. The 
  what the Driver needs to do. If the Driver is  teams should determine the best way to 
Driver’s Role​ - The Driver operates the  more advanced, Navigators give higher-level  accomplish that goal. Switching Drivers is 
computer to input/implement ideas made by  instructions, like “commit it” or “move that  easiest when the Mob shares a single station 
the Navigator(s).   method to the parent class”. Over-navigating  and settings. If individuals in the Mob have their 
own preferred tools and settings, consider  Bias for Action ​-​ ​When discussing how to solve  designs. To improve the design, the Mob 
switching machines using a hardware HDMI  a problem, get out of the abstract as soon as  should get expert help.  
switch, or use a system like WebEx or Zoom.  possible.   ● Conflict between team members - In order 
  ● Do not argue for more than 10 minutes.   to be a well-functioning Mob, everyone must 
Physical Space​ - Here are some suggestions  ● If there are 2 ideas, try both, then decide  be treated with kindness, consideration, and 
for the physical space and equipment setup:   which the Mob likes better.  respect. 
● At least one large screen (big enough so that  ● Keep the Mob moving with this quote from   
people can easily read code at a distance) is  Brian Marick: “An example would be handy  Don’t Stop the Mob​ -​ ​The Mob can 
necessary. Some teams use two or more  right about now”.   temporarily delegate a member as a researcher, 
screens. Projectors can work, but are less    to find solutions to something they cannot 
desirable.   The Value of Mobbing​ - When done well,  easily figure out. Meanwhile, the Mob can work 
● Consider using wireless keyboards and mice  mobbing helps a team:   elsewhere in the code. It is important that 
to make it easier to switch Drivers.   ● Deliver solutions faster by increasing focus,  people feel comfortable enough to ask 
● Mobbing can be noisy. Ideally, the team is in  building skills and sharing knowledge.  questions, but if the Mob is moving slowly due 
a room with a door that closes or is  ● Produce better quality code because the  to a lot of questions, it is better to set aside 
somewhat apart from other’s work areas.  entire team reviews the code as it is being  some time outside of the Mob for someone to 
Conference rooms are usually suboptimal.  written.  have questions answered. Fast throughput is 
They are designed for people to sit around a  ● Feel the pain of tedious tasks. This is good,  an important goal. 
table and talk, not to program. You need to  as it biases you toward fool-proofing and   
face the screen (without turning your head)  automation.  Invite Experts -​ ​ ​If a Mob gets stuck, they may 
as you work, and it’s best if participants can  ● Cross train it’s members and remove  invite an expert to join them to help resolve a 
sit side by side to facilitate discussions.  knowledge silos by learning together.  problem. Be sure it is an invitation and not a 
● You need chairs or couches that are  ● Deliver results faster by reducing the team’s  demand (they are not required to drive). 
 
comfortable for longer than an hour.  “work in progress” and by eliminating delays 
● You need a large whiteboard and plenty of  from handoffs with the whole team present.  Resources   
sticky notes.    ● Mob Programming – A Whole Team 
  Mobbing Pitfalls -​ A poorly functioning Mob  Approach, by Woody Zuill and Kevin 
Mob Timing and Breaks   will produce value slowly. The following are  Meadows 
● Use an automated timer (e.g., Dillon Kearns’  some signs of poor mobbing and what do to if  ● Code with the Wisdom of the Crowd: Get 
Mobster App) to initiate role changes and  you observe these behaviors:   Better Together with Mob Programming, by 
breaks.    ● Excessive discussion or arguing - Run some  Mark Pearl 
● Switch roles every 7 minutes on average  experiments, then decide which the Mob  ● The Mob Programming Guidebook, by 
(beginners should switch every 2-4 minutes).   likes better.  Maaret Pyhäjärvi 
● The whole Mob should take regularly  ● Zoning out - Take a break from the Mob  ● Mobster - free tool that helps teams manage 
scheduled breaks. The pomodoro method, a  ● Ignoring Mob roles/timers - Team members  rotations and breaks (​http://mobster.cc​) 
proven method of taking regular breaks to  should hold each other accountable   
increase efficiency, suggests taking breaks  ● Producing poor designs or not valuing good   
every 48 minutes.  design - A Mob that lacks people with good 
  design skills won’t magically produce good 
 

You might also like