liveBook · Manning

Mob programming

As explained in Architecture Modernization: Socio-technical alignment of software, strategy, and structure

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.3 section 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.

Also explained in

Compare how 2 books explain mob programming →

Related concepts

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.