Tallygist

Back to Journal

Issue 8

Collaboration lessons from mob programming

Synchronous collaboration in remote environments has its obstacles, but it is possible, and highly rewarding. This article summarizes my experiences with Remote Mob Programming.

By Martin Drohmann

Published

What mob programming taught me about remote collaboration and why it might make your team faster.

Nowadays many software companies operate at least somewhat hybrid, with employees working from home for parts of their week. This relatively recent shift has changed how we collaborate: on the one hand, we can meet synchronously with almost anyone, almost any time; on the other hand, our human capabilities are often under-utilized in these settings. Reading the room and setting it up for an effective meeting is reduced to a grid of small rectangular windows. Who knows how many of your co-workers are glaring at you in their pajama pants?

And even though technical solutions try to emulate the experience of sketching quick diagrams on a whiteboard or taking over someone’s keyboard when they are stuck, these tools have real limitations in my experience. They rarely feel natural. It is harder to read the room: on a large Miro board, for example, it is difficult to track what everyone is actually looking at and engaging with.

Effective collaborative meetings in remote settings are genuinely hard.

When collaboration tools are involved, the organizer needs to educate the group in advance and often run trial sessions before things click. It takes tenacity: accepting some frustrating early attempts, integrating the lessons, and refining the approach until it actually works.

As a result, I think many leaders default to a more hierarchical divide-and- conquer structure, where collaboration happens either asynchronously or under heavy top-down direction from one person issuing directives. Those directives favor clarity and executability over adaptation and diverse input. The outcome, predictably, is more likely to lack coherence.

There are certainly legitimate reasons why many companies are returning to in-office or hybrid models where coffee-machine conversations are the norm: synchronous collaboration comes more naturally in a shared physical space, while focused individual work tends to suit the remote environment.

My experience with synchronous work in a remote setting

That said, even in a fully remote environment, synchronous collaboration can be done well.

Early in my career as an engineering leader, I was asked to integrate a second team into my existing one after their team lead quit. My first team owned the core platform components; the new team was building on and extending those capabilities. There was obvious potential for collaboration and mutual learning, but after a sprint of business as usual, it was clear we were not speaking the same language.

I did not really know what the new engineers were doing day to day: what problems they were running into, what tools they used, what practices they had developed. There were plenty of written documents about their work and planned tasks, and we spent time going through them together, but the whole process felt overwhelming and directionless, more resource management than real collaboration. But I did not want to just be a manager for them.

So I tried mob programming: the entire team works on one clearly defined task together, in the same room, on the same computer. Since my team was remote, that meant a Zoom room. We could not literally share a machine, but we used a tool that made it easy to hand off control of the codebase, the steering wheel, so to speak. Rotating the driver role regularly is essential: if the same person drives the whole time, others disengage and stop contributing.

Yes, engineers are introverts, have their preferred ways of doing things, and are often very opinionated about it. So, I cannot say that everyone was excited about it from the start. But it was highly effective:

Is collaboration really slowing us down?

After that experience, I started using mob programming sessions deliberately for specific tasks, and the most surprising thing was how fast the team could move. Collaborative mob programming is most effective when:

One such opportunity arrived when a specific customer needed a demo of a potential product feature by a fixed deadline.

Predictably, the requirements were ambiguous at first and changed several times across the two-week window we had.

Rather than assigning the task to one or two engineers and leaving them to wrestle with the ambiguity alone, I decided to implement it as a team. What followed:

In the end, we had plenty of time to test the solution and hand it off to the customer success team before the demo.

What surprised me was the reaction from people outside our team. Many thanked us for the sacrifices we must have made to deliver something so messy on time. In reality, we probably worked fewer hours than usual:

Lessons for the office and non-engineers

Offices are more conducive to synchronous collaboration than remote environments, but the physical setting alone is not enough. The company still needs to provide the cultural foundation. I have worked in office environments where top-down planning made real collaboration difficult: the priority was focus and output, not necessarily the best long-term solutions.

Learning this the hard way in a remote setting, I have come to believe that effective collaboration comes down to four core ingredients:

If you consistently get through every agenda item in every meeting, that is probably a sign that the people in the room are not really collaborating with you, either because they feel unsafe speaking up, or because they have not been given the support to develop that skill.

This perspective from Jensen Huang on avoiding one-on-one meetings offers an interesting example of how leaders can foster more collaboration.

Reflections of the day

With care,

Martin

Newsletter

If you want to receive a weekly reminder of where to look for leadership obstacles and tips how to prevent them, sign up to my newsletter here