Here is What is going right: Mob Programming Benefits (Part 3). I will give a short explanation on the two benefits below. Check out the other parts of the series for even more benefits of mob programming.
- Temporarily joining another mob
- Redundant knowledge
Temporarily joining another mob
Yesterday I found myself alone at my mobbing station. We are not allowed to write production software without at least one other person mobbing with us. So, I rolled my chair over to the closest mob got my name in the rotation and began mobbing with them.
The mob I joined was in a language I have very little experience with and a technology stack I have even less experience with. But I was able to follow along and contributed what I could.
I was mob programming with the team for roughly 45 minutes before we broke out for lunch. During this time I was absorbed into the new mob. It was an easy transition into the other mob. It did not cause disruption in the flow of the mob. And I got to learn more about the technology our teams are using.
Mob programming let me join an entirely different team and share my skills even if just for a short period of time.
When you have a group of 3 or more people all working on the same project at the same time together knowledge is going to be spread. Mob programming reduces knowledge silos essentially to zero. If someone is already very knowledgeable on a subject while the rest are not, the knowledgeable member navigates the others so the knowledge can be shared. Knowledge silos do not last long if they exist at all.
A second major benefit of redundant knowledge is that members can leave. For something as common as getting coffee or water, when a member leaves, the code is still moving forward. And even more importantly if a member goes on vacation all the code keeps on going. We do not run into roadblocks because of the redundant knowledge.
Redundant knowledge means 100% participation by every member of the mob at all times is not necessary. People can come and go as they please without worry.
That concludes What is Going Right: Mob Programming Benefits (Part 3), check out the other posts in the series
What is going right: Mob Programming (Part 2)
What is going right: Mob Programming (Part 1)
I have been in the mob for over a year and have more aspects of mob programming that I would like to share. Let’s jump right into What is going right: Mob Programming Benefits (Part 2).
- Idea Generation & Development
- Efficient use of time
Idea Generation & Development
Mob programming promotes the generation and development of ideas. You have multiple team members to bounce your ideas off of in order to come up the best solution. You do not need to come up with entire solutions on your own or have a fully thought out idea.
I have found myself presenting a half-baked idea, knowing that with the help of my team members we can work the idea into something real. It is a great feeling to be able to present just half of an idea and get input from the team on how to build it out to fruition.
This also helps in the opposite direction. If I present an idea not fully thought out and a team member can point out the flaws; I do not have to waste any more time trying to build the idea when in the end it would not even work anyway.
It is hard trying to take an abstract concept in your head and code it up into a full solution all on your own. But with mob programming, you have the help of your team the whole way.
Efficient Use of Time
Mob programming makes efficient use of the developers time. My mob only has one, yes ONE, regularly scheduled meeting a week. And even better only one mob member has to attend so the three of us on my mob rotate. I go to one regularly scheduled meeting every 3 weeks.
The rest of my time is spent coding. If my mob decides we should discuss a topic more in depth before jumping into code we do not schedule a meeting and find a conference room away from our computer to discuss. We simply swivel our chairs to the whiteboard or just start talking.
On a good mob, impromptu discussion just happens when it needs to. If the code is flowing fast then no need to discuss, if we are up against a challenge start discussing.
Mob programming lets you focus on the code, which is exactly what every developer wants to do!
Stay tuned for more What is going right: Mob Programming posts. If you have not read part 1 check it out here What is going right: Mob Programming (Part 1)