Mob programming has become increasingly popular among engineering teams in the last few years. While the idea of bringing multiple programmers together or virtually may sound like a recipe for slumping commits due to fewer people submitting code, many organizations have found that their teams work better in pairs or groups.
But how do organizations that are testing into mob programming know if this type of cultural shift will bring the needed impact? In this article, we’ll break down how you can get a better read on the work being done by the mob vs. individual contributions using Pluralsight Flow.
Is your code quality getting better?
It doesn’t make sense to add changes to your team if it negatively impacts productive throughput. Mob programming can be an extremely useful tool in creating better code, but it doesn’t guarantee success and you’ll want to stay focused especially in the beginning stages. Keep an eye on the following metrics to make sure your mob experiment is turning promising results. Remember, mob programming may be a big shift for your team, and to see the results you’re after takes time, patience and teamwork.
Code commits: Monitor commit volume to see what difference the shift to mob or group coding is having on raw output from the teams. This, however, is by no means the end-all-be-all metric. When mob programming, lower code commits don’t necessarily mean your team is struggling. One interesting quality of mob programming that you’ll find is that the coding never really stops. If someone is on vacation, the rest of the mob can typically continue coding unfazed.
Efficiency: Track the percentage of productive work compared to all the contributed code. Progress can be slow and tedious at first, but over time the percentage should trend upwards as your team works out each other's working styles, preferred methods and architecture ideas.
Impact: Maximize this mind meld of engineers by measuring the impact of submitted code. Think of impact as the “bigness” of code being submitted. This metric takes into account the complexity of the codes being submitted, surface area the code affects, how many files it touches, the severity of the changes and other nuanced metrics. If your mob sessions are working, there should be more impactful changes to the codebase.
By measuring these top-line metrics from the outset, you’ll have a foundation of where your baseline performance should be and an easier time creating realistic goals for your mob strategy. Below are some examples of how your team’s progress on these metrics is illustrated within Flow.
Is the team collaborating more?
One of the big concerns around mobbing is that it can slow efficiency when a group of highly paid engineers is working through one computer, rather than having all them individually contributing code. But in reality mobbing can lower operational costs, because all the questions a team member may have held until the next standup meeting can be answered in real time by their peers while in the codebase. However, it’s important for you to understand the dynamics of who is entering code and who is contributing to that code, and that’s why having reports that provide that transparency is so critical.
Work log: One of the largest benefits to mob or pair programming is that you now have two or more engineers that deeply understand large aspects of your codebase—and you can quickly see what individuals on your team have contributed to a specific code commit (hover over the hollow circles to pull up the summary of each code commit and the co-authors). This in-depth collaboration can reduce the risk you’re losing critical domain knowledge when engineers move on from your team.
But you’ll also want to make sure you’re not introducing impenetrable silos within your team. Utilize the Worklog report to see how consistent co-authors show up in commits together—and consider rotating engineers to spread knowledge throughout your team.
Using Flow, you can quickly parse mob code commits to better understand the context and contributors to each submission.
Is the collective wisdom growing?
One of the key explanations for the explosive adoption of mob programming among engineering teams is the shared knowledge that comes with multiple engineers putting their efforts into code commits. It’s like driving in a race while other professionals coach and advise you through the chicanes and hairpins. Over time, the live peer review can help everyone on the team be a better developer. Flow can help you prove this out.
Proficiency: Developers have reported significant gains in their language skills at an increased clip while group coding, especially when it comes to younger professionals learning from more seasoned developers. Mob programming sets the stage for everyone to have input on each line of code submitted, and this collaboration leads to inherited abilities and language proficiency. Because Flow accounts for your team’s language proficiency, you can track this progress in real time and month-over-month with Proficiency reports like the one below.
Build (and test) your mob
Implementing a new software development approach like mob programming can be intimidating. You may wonder whether it will negatively or positively impact your team, your development cycles and your ability to reach goals. These are valid concerns; as a leader, you want to do right by your team and your organization.
They key to discovering—and optimizing—what’s best for everyone is to rely on data. Make sure you have a solid understanding of how your team worked pre-mob days and as they settle into mob development. Give yourself, and your team, time to adjust to a new way of working, collect enough data to truly reflect the impact of mobbing and use that data to guide your team and your decision on whether mob programming is right for you.
Need to better understand how engineering is running at your organization, especially now that you’re testing into mob programming? Learn how you can get—and use—immediate insight on how your team works by scheduling a demo of Pluralsight Flow.
5 keys to successful organizational design
How do you create an organization that is nimble, flexible and takes a fresh view of team structure? These are the keys to creating and maintaining a successful business that will last the test of time.Read more
Why your best tech talent quits
Your best developers and IT pros receive recruiting offers in their InMail and inboxes daily. Because the competition for the top tech talent is so fierce, how do you keep your best employees in house?Read more
Technology in 2025: Prepare your workforce
The key to surviving this new industrial revolution is leading it. That requires two key elements of agile businesses: awareness of disruptive technology and a plan to develop talent that can make the most of it.Read more