Individual Performance Review in a Mob Programming Environment

Jasmina Nesic
Nordnet Tech
Published in
6 min readAug 22, 2023

Introduction

Last year, I presented the concept of mob programming to a group of developers accustomed to working individually. My focus was on sharing the experiences of my company (Nordnet Bank) and my own teams with mob programming. What started as an experiment during the Covid-induced remote work eventually evolved into the primary mode of operation for several teams, including my own. Mob programming proved to be a powerful tool for knowledge sharing and fostering technical ownership. However, after the presentation one person in the audience asked a thought-provoking question that sparked my interest, and it compelled me to delve deeper into this topic. In this article, I aim to explore how individual performance review can be effectively managed within a team that practises mob programming.

Addressing the Dilemma

“How do you do individual performance review when the team works in a mob?” This seemingly paradoxical question indeed holds significance. At first, my answer was straightforward — performance review in a full-time mob setting is made easier. Here’s how:

Frequent Observation

As a manager, I make it a point to visit the mob frequently, providing me with the opportunity to witness my developers in action.

Communication with Teammates

The close-knit nature of the team fosters mutual familiarity, and I often gather valuable insights from other team members during our one-on-one meetings held every 2–3 weeks.

However, I believe this question deserves a more comprehensive answer than I could provide in the two bullets above. It may even be the reason why many developers and companies hesitate to embrace mob programming, fearing the inability to recognize individual contributions or the potential for low-performers to hide behind the group. Allow me to dispel these concerns and argue that mob programming achieves the opposite effect.

Observing the Mob in Action

When visiting the mob, I observe how engaged developers are during discussions. Mob programming is not about one person dominating while others passively watch. Instead, the driver’s role is to channel the collective thoughts through the keyboard, with the entire team actively contributing ideas and shaping solutions. By spending time with the mob and keenly listening, one can identify various qualities in team members:

Leadership Skills: Recognizing a team member who encourages participation from quieter colleagues during heated discussions.

Curiosity and Drive: Appreciating the enthusiasm of a junior member willing to explore new and innovative approaches, even if they might not lead to the desired outcome.

Domain Knowledge: Acknowledging a team member’s thorough understanding of the business, which complements their technical expertise and customer-centric approach.

Pedagogical Approach: Noticing an experienced team member who ensures everyone is on the same page by summarising discussions or slowing down the pace when necessary.

Absence of Prestige: Recognizing a team member’s humility, refraining from dissuading others from exploring challenging paths and valuing the lessons gained from firsthand experiences.

Technical Proficiency: Admiring a person’s ability to simplify complex technical solutions for non-technical stakeholders, effectively communicating the benefits of proposed solutions.

Seeking Insights from Teammates

Apart from direct observation, one-on-one meetings with team members provide valuable insights. Working in a mob environment encourages a culture of appreciation among colleagues. The open exchange of ideas and thoughts allows individuals to genuinely value each other’s knowledge, experience, creativity, helpfulness, patience, curiosity, learning speed, and social skills.

An essential aspect of seeking insights into individual contributions within our mob programming environment is the culture of voluntary credit and delicate feedback. Interestingly, developers within the team willingly give credit to their teammates without any prompting. Whenever I mention a particular accomplishment or task completed by the team, I often hear spontaneous acknowledgments of individual contributions from other teammates. This exemplifies the high level of camaraderie and appreciation nurtured within the team.

However, when it comes to areas for improvement or concerns, developers may not always proactively share their observations unless directly asked. Constructive feedback might require a more delicate approach to encourage open discussions. In some cases, I need to attentively listen to the absence of praise for a particular team member to recognize that there might be areas that require attention or support.

By fostering a culture where individuals feel comfortable sharing their thoughts and observations, we aim to create an environment of trust and support. In doing so, we enable developers to feel at ease when providing feedback, be it praise or constructive criticism. That way everyone’s contributions and areas for improvement are acknowledged and addressed constructively.

It Depends on Organisational Values

Upon further contemplation, the effectiveness of individual performance review in a mob programming context depends on the organisation’s values and the qualities it nurtures in its workforce. Mob programming may not offer the conventional means of measuring individual productivity, such as counting tickets or praising solitary heroes who solve challenging problems. However, organisations that prioritise a culture of collaboration, psychological safety, diversity, and continuous learning will find mob programming to be a catalyst for showcasing and encouraging desired behaviours.

Our Approach at Nordnet

At Nordnet, we employ our own Engineering Ladder for performance review. This ladder outlines the behaviours and skills we value as an organisation and serves as the foundation for our evaluation process. Working in a mob setting has had a profound impact on our team’s collective skills, as demonstrated by individual skill profiles connected together. Mob programming enhances knowledge sharing among developers, strengthening technical ownership as everyone contributes to all aspects of the team’s development efforts.

Nordnet’s Engineering Ladder for the whole team

One crucial aspect we consider in our performance reviews is the impact of skills demonstrated by individuals. Working in a mob setting amplifies the effects of these skills, benefiting not only the immediate problem-solving process but also the entire team’s learning and growth. This presents a unique opportunity to leverage individual performance.

In a mob, every skill put into practice has far-reaching consequences. Not only does it contribute to resolving the current task efficiently, but it also enhances the collective knowledge of the team. As a result, the benefits extend to the entire company, fostering a collaborative and supportive culture where everyone reaps the rewards of continuous learning and shared knowledge. Indeed, it’s a win-win situation for all involved!

Conclusion

In conclusion, the practice of mob programming should not be seen as conflicting with individual performance review. Instead, it can amplify the recognition of desired behaviours and skills within the team. By aligning your company’s values with a culture of psychological safety, learning, and collaboration, mob programming can become a powerful tool for enhancing individual and team performance, benefiting the entire organisation in the process.

Recommended Reading

Finally, here is some more reading on the topic of Mob Programming I would recommend.

Gaining Insights into Mob Programming from a Developer’s Perspective

If you are curious to learn more about mob programming from a developer’s point of view, I highly recommend reading this insightful article by my Nordnet colleague Daniel Sjöström. In his article, he shares valuable insights and experiences that shed light on the benefits and challenges of mob programming, providing a unique perspective from the developer’s lens. https://medium.com/nordnet-tech/24-months-of-mob-programming-7846ceb54e3e

By exploring his thoughts, you will gain a deeper understanding of how mob programming impacts individual growth, teamwork, and overall productivity. I encourage you to dive into this valuable resource to enrich your knowledge and perspective on the subject.

Further Resources

If you want to delve deeper into the world of mob programming and learn from one of its pioneers, I highly recommend exploring Woody Zuill’s webpage: https://woodyzuill.com/#speaking

There you’ll gain valuable knowledge and practical tips on how to successfully implement mob programming within your own development teams.

--

--