Mob programming is when a team of developers work together on the same problem, on the same computer. At Greater Sum, we always work as a mob. This software development approach has brought forth many benefits to our company. Here are some of them:

No Meetings

Since we were all working together on the same problem, there was no need for us to schedule meetings. The point of a meeting is to check for understanding or acquire knowledge. While we solve problems together, we develop a shared vocabulary. We do not need to set aside time to recheck understanding when it is already naturally incorporated into mob programming.

Shared Learning

If that one person disappears, the company suffers.

Instead of having individual developers hoard specific knowledge, we shared our knowledge. Junior team members were able to quickly gain understanding of the software from working with more senior members. This system prevents anybody from becoming a dependency. In many companies, some developers become indispensable because they have crucial knowledge of the software that the rest of the team lacks. If that one person disappears, the company suffers. If everybody works as a mob, it is impossible for a company to become so dependent on individual developers.

Increased Productivity

Whenever I mentioned the idea of mob programming to objectors, I always hear one argument “It will decrease productivity”. I understand their misapprehension. They believe that developers working on separate problems would produce results faster than multiple developers working together. However, they’re discounting two fundamental facts.

One, software is malleable. It is soft. When you’re developing software, all the pieces depend on one another. They all combine to make a whole. How often does one developer solve one problem without considering the other parts her fellow colleagues are working on. By working together, on one problem, you avoid conflicts. Also, each developer gains a better understanding of the big picture, instead of having a micro view of the product.

As a team, we overcome our weaknesses.

Secondly, all humans are unique. The last I checked, developers are humans too. If all humans were the same, you would expect every developer approach a problem in the same manner. Fortunately, this is not the case. As individuals, we have to tolerate our flaws and try our best to discover our blind spots. As a team, we overcome our weaknesses. We notice details, we come up with clean solutions, we fix irritating bugs, we build things. We do all of this better because we are a team. We do not have our solitary chains to weigh us down. We are as strong as our strengths combined.

The Whole is Greater Than the Sum

I believe in this sentiment fully: “The whole is greater than the sum”. It is a paraphrase from Aristotle. I’m grateful that we get to live this philosophy every day.

 

 

Share This