tezvyn:

Mob Programming: The Whole Team on One Computer

AI-drafted, machine-checkedSource: Wikipedia: Mob programmingadvanced

Mob programming is like pair programming for the whole team: everyone works on one task, on one computer, at the same time. It's used for complex problems or onboarding. The footgun is letting it become a passive meeting instead of an active collaboration.

THE MENTAL MODEL: Mob programming concentrates the entire team's brainpower onto a single task at a single computer. Instead of dividing work and creating handoffs, the team single-threads its focus. The core idea is to have all necessary skills and context—development, testing, product—in the same room, working on the same thing, at the same time. This minimizes communication latency and eliminates knowledge silos by creating a shared, real-time understanding of the problem and its solution.

HOW IT WORKS: The setup involves one computer connected to a large screen everyone can see. One person, the "Driver," has the keyboard and is responsible for typing. The rest of the team acts as "Navigators," discussing the problem, dictating code, and spotting potential issues. The Driver's job is to listen to the Navigators and translate their consensus into code, not to think independently. To keep energy high and ensure everyone participates, the Driver role rotates to a new person every 10-25 minutes. This continuous collaboration ensures quality is built-in from the start.

WHEN TO USE IT: This technique is best for complex, high-stakes problems where the cost of a mistake is high and multiple perspectives are valuable. Use it for designing a core architectural component, debugging a critical production issue, or tackling a feature with many unknown variables. It's also an excellent tool for knowledge sharing, such as onboarding new team members or collectively learning a new framework.

WHEN NOT TO USE IT: Mob programming is inefficient for simple, routine, or easily parallelizable tasks. If a problem is well-understood and can be broken down into independent pieces of work, traditional task assignment is more productive. Using the whole team to fix a typo or write boilerplate code is a misuse of the technique. It is a high-cost, high-focus method for problems that warrant the investment.

ONE CANONICAL EXAMPLE: A team needs to implement a new, complex pricing algorithm. The entire team—including a product manager and a QA engineer—gathers for a mobbing session. The product manager clarifies business rules in real-time, the QA engineer suggests edge cases, and developers debate the implementation. The Driver types the agreed-upon code. This prevents misunderstandings and produces a robust feature much faster than a siloed workflow would.

Read the original → en.wikipedia.org

Get five bites like this every day.

Tezvyn delivers a daily feed of 60-second tech bites with quizzes to lock in what you learn.