Published on

Mob Programming


For the project I am currently working on we have pretty tight deadlines and an existing complex code base to deal with. This code base was not built by our team but by another team and needs some work done on it to deliver the required product. As a team we decided to mob on this due to the complexities of this code. This involved 5 developers sitting in a room together with one computer and one screen. It is the role of the person behind the driver's seat to take inputs from everyone else in the room and convert that into code. Ideally this role should be rotated throughout the devs in the mob.

I found this experience interesting as you get a feel for other people's way of working and solve problems together as a team. The process can be somewhat frustrating as you may do something one way but the team opts to do it another way. Also you may physically code something differently or/and faster but as you do not happen to be in the driver's seat at that point in time, you cannot action it that way which can be incredibly frustrating.

One mistake we made in this process is that not all 5 people mobbing need to be developers. It is important to have a BA in the room as well. This would help us navigate through any complex business questions we encounter. The ideal size for a mob is between 3 and 5 people. This makes sense as there will naturally end up being more overhead when trying to coordinate communication among many more people.

This mob process is still on-going but the plan is to get the code into a state where we can easily split up the remaining work and divide and conquer.