A collaborative programming technique in which multiple developers work together on the same implementation task, typically sharing one workstation or coding session.
Mob programming is a collaborative technical practice in which a whole team works together on implementation. It supports well-designed, tested, understandable, and changeable code, but teams should adopt it voluntarily rather than treat it as a silver bullet. section 2.4.3section 15.4.1
Use mob programming to:
Share expertise across the team instead of concentrating delivery knowledge in one technical lead. section 15.4.1
Improve implementation quality through deliberate design, testing, and continuous refactoring. section 2.4.3
Test whether the practice fits the team, adapting rather than forcing adoption. section 2.4.3
Modernizing a legacy system at JustEat
During a week of cloud-modernization planning and delivery, a team with no continuous-delivery experience tried mob programming. The technical lead initially saw it as wasteful because individual work seemed faster. The facilitator reframed the goal: bring the whole team to the point where everyone could perform the work independently. That explanation connected mobbing with team capability rather than individual productivity. section 15.4.1
How Architecture Modernization: Socio-technical alignment of software, strategy, and structure covers it
How deep it goes
Positions mob programming as a quality practice and illustrates its social dynamics, but does not prescribe detailed mechanics.
Examples
Uses a JustEat cloud-modernization week, whiteboard planning, group work, and a technical lead’s resistance as teaching examples.
What it assumes
Assumes technical-practice experience may be uneven and recommends training or outside help when expertise is lacking.
What you can do after
Apply it to share expertise and develop a team capable of delivering work without relying on one specialist.
How it connects
Connects mob programming with test-driven development, pair programming, continuous refactoring, modernization, and continuous delivery.
"Looks Good to Me"A software-development practice in which more than two team members collaborate simultaneously on the same problem through a shared work context.
knowledge transferproduces · Knowledge transfer is the conveyance or application of information, skills, or learned capabilities from one person, system, task, or context to another.
code reviewcontrasts with · Code review is the systematic examination of source code or proposed changes to identify problems and assess or improve quality.
pair programmingcontrasts with · Pair programming is a software development practice in which two people collaborate on the same programming task, sharing implementation, review, or guidance responsibilities.
This explainer was generated by Manning's knowledge graph from the text of Architecture Modernization: Socio-technical alignment of software, strategy, and structure. The section links point to the parts of the book it draws on.