← Home ← Codex ← DEBT
Browse by Category
+ added · updated 7d
← Back to glossary

Mob Programming

General Beginner
debt(d9/e3/b3/t5)
d9 Detectability Operational debt — how invisible misuse is to your safety net

Closest to 'silent in production until users hit it' (d9). The detection_hints explicitly state 'automated: no' and the signal is indirect — knowledge silos and slow onboarding only become visible over time through team friction, not via any tooling. There is no linter, compiler, or runtime check that flags absence of mob programming.

e3 Effort Remediation debt — work required to fix once spotted

Closest to 'simple parameterised fix' (e3). The quick_fix describes a concrete, low-ceremony change: one keyboard, one screen, rotate driver every 15 minutes. No code changes are required — it is a team practice adjustment. Slightly more than a one-liner because it requires coordination and habit-forming across the team, but it is localised to a single team's working session rather than spanning multiple systems.

b3 Burden Structural debt — long-term weight of choosing wrong

Closest to 'localised tax' (b3). Mob programming applies to specific sessions or contexts (complex debugging, onboarding, architectural changes per why_it_matters). It does not impose a structural burden on the codebase itself — it is a process choice for a team, not an architectural decision that shapes every future change. The rest of the codebase is unaffected.

t5 Trap Cognitive debt — how counter-intuitive correct behaviour is

Closest to 'notable trap' (t5). The misconception field explicitly identifies the canonical wrong belief: that mob programming is slow because only one person types. This is a well-documented gotcha that most developers hold initially but eventually learn is false. The common_mistakes also highlight that teams misapply it (using it for trivial tasks, not rotating drivers, treating it as pair programming with an audience), all of which stem from this core misunderstanding of where software bottlenecks actually lie.

About DEBT scoring →

Also Known As

mobbing ensemble programming

TL;DR

The whole team works on one task at one computer simultaneously — combining pair programming across the entire team for complex or knowledge-critical work.

Explanation

In mob programming, one person (the driver) types while the rest (the mob) contribute ideas and direction. Roles rotate frequently — typically every 5-10 minutes. The entire team focuses on the highest-value work together, producing very low defect rates and exceptional knowledge sharing. Best suited for complex problems, architectural decisions, and critical code that everyone needs to understand. A full-day mob session can outperform the same number of developer-days working in isolation on the right problem.

Common Misconception

Mob programming is slow because only one person types — the bottleneck in software development is rarely typing speed; it is thinking, decision-making, and knowledge transfer, which mob programming maximises.

Why It Matters

Mob programming eliminates knowledge silos and produces the team's highest-quality work — particularly valuable for onboarding, architectural changes, and complex debugging.

Common Mistakes

  • Not rotating the driver frequently enough — one person types for too long and others disengage.
  • Using mob programming for simple, well-understood tasks — it is overkill for routine work.
  • Not using a physical or shared remote screen — participants must all see the same thing.
  • Treating mob programming as pair programming with an audience — everyone should actively contribute, not watch.

Code Examples

✗ Vulnerable
// Mob programming anti-pattern — driver ignores the mob:
Developer A (driver): [typing rapidly without explanation]
Rest of team: [watching silently]
// Driver implements their own solution without discussion
// Knowledge not transferred, decisions not shared
// This is just programming with spectators
✓ Fixed
// Productive mob:
Facilitator: 'Alice, you drive. We need to implement rate limiting middleware.'
Bob: 'I suggest we check Redis first before hitting the counter'
Alice (driver): [types the Redis check]
Carol: 'We should also handle the case where Redis is down gracefully'
// Rotate driver every 10 minutes
// All decisions discussed, all code understood by everyone

Added 15 Mar 2026
Edited 22 Mar 2026
Views 47
Rate this term
No ratings yet
🤖 AI Guestbook educational data only
| |
Last 30 days
0 pings T 0 pings W 2 pings T 0 pings F 0 pings S 1 ping S 0 pings M 0 pings T 1 ping W 1 ping T 1 ping F 1 ping S 0 pings S 3 pings M 1 ping T 3 pings W 0 pings T 0 pings F 0 pings S 0 pings S 0 pings M 0 pings T 0 pings W 1 ping T 0 pings F 0 pings S 0 pings S 0 pings M 0 pings T 0 pings W
No pings yet today
No pings yesterday
Amazonbot 8 Scrapy 8 Ahrefs 4 ChatGPT 4 SEMrush 4 Perplexity 3 Unknown AI 2 Google 2 Claude 2 Meta AI 1 Majestic 1
crawler 35 crawler_json 4
DEV INTEL Tools & Severity
🔵 Info ⚙ Fix effort: Medium
⚡ Quick Fix
Start with one keyboard, one screen, everyone contributing verbally — rotate the driver every 15 minutes and keep the navigator role separate from the driver
📦 Applies To
any web cli
🔗 Prerequisites
🔍 Detection Hints
Knowledge silos where only one person understands a system; slow onboarding of new developers to a codebase
Auto-detectable: ✗ No
⚠ Related Problems
🤖 AI Agent
Confidence: Low False Positives: High ✗ Manual fix Fix: Medium Context: File


✓ schema.org compliant