When does an ensemble (mob) session earn the cost of the whole team on one change?
answer
- The whole team, one change
- One keyboard, everyone else navigating
- Ask what the real constraint is
- Understanding, not hands
- Timebox it and appoint a facilitator
basics
~20 sWhen the constraint is shared understanding rather than typing throughput: onboarding, a change nobody can safely make alone, or a decision that would otherwise be relitigated later. It costs the whole team's hour and pays only when knowledge is the bottleneck.
solid answer
~50 sAn ensemble puts the whole group on one change at once: one person on the keyboard, everyone else navigating, and a short rotation so the keyboard moves round the room. It is the most expensive hour a team can spend, so it has to be aimed at problems where the shortage is understanding, not hands. The strong cases are onboarding people into an unfamiliar area, a change that crosses parts nobody owns end to end, an investigation where the next step is genuinely unknown, and a decision expensive to reverse where you want everyone bound to it. The weak cases are routine parallelisable work and small well-understood changes, where you are simply paying six salaries for one keyboard. Run it timeboxed, with a facilitator and a rule that the driver types what the group has decided, or it degrades into one person lecturing.
code
pseudocode · 10 linessession = timebox(minutes = 55, break_after = 25)
rotation = every(minutes = 4)
while session.running:
driver = participants.next_in_ring()
on rotation.tick:
driver.handover(summary_of_current_step)
driver = participants.next_in_ring()
rule: driver types only what the group has decidedgo deeper
Be able to describe the format — whole team, one keyboard, short rotation, everyone else navigating — and give one honest example of work where it beats splitting the task up.
Explain the mechanics that keep it functional: the driver-types-what-the-group-decides rule, the rotation interval, the facilitator, the timebox, and the specific failure it prevents in each case.
An interviewer expects you to choose it deliberately against a real bottleneck, run it without it degrading into a lecture, and say what signal would make you call the session off.
Own the economics: an ensemble converts parallel streams into one and must be argued for on knowledge and decision durability, with a bounded trial and a stated purpose rather than a standing calendar block.
## What an ensemble actually is An ensemble — also called mob programming — is the whole team working on one thing, at one time, in one space, on one machine or shared screen. At any moment exactly one person is the **driver** with the keyboard, and everyone else navigates. The keyboard rotates on a short interval so every participant drives several times in a session. The defining constraint is usually stated as a rule for the driver: **type what the group has decided, not what you personally would write**. That rule is what separates an ensemble from a demonstration. It forces every idea to be spoken before it becomes code, which is slow, and the slowness is the point — the speaking is the knowledge transfer. Most teams add two supporting mechanics: - A **facilitator** who watches the timer, notices when one voice has taken over, and parks tangents so the group does not spend twenty minutes on a naming argument. - A **timebox** — a session with a stated end and real breaks. Ensembles are cognitively intense; a full uninterrupted day usually ends in work nobody would defend. ## Where the value comes from A pair transfers understanding between two people. An ensemble transfers it across the room in the same elapsed hour, and it also removes the round trips that would otherwise happen later: the questions in a review, the second explanation to the person who touches it next, the argument reopened three days on because only half the team was in the original conversation. So the honest test is: **is my constraint understanding, or is it hands?** If five people could each pick up a well-specified item and finish it, an ensemble is straightforwardly worse — you have converted five parallel streams into one. If instead the item is blocked on "nobody actually knows how this path behaves", parallel streams do not help, because four of them would be guessing. ## Cases where it earns its cost **Onboarding.** New joiners reach useful contribution faster by driving inside a real change than by reading. On an 11-person team that absorbed three new engineers into a hospital appointment scheduler, a run of short ensemble sessions on live work put all three into the slot-reservation code in their first fortnight, in a way no walkthrough would have. **A change nobody understands alone.** When an intermittent timeout appeared on the scheduler's reservation path, the knowledge was split: one engineer knew the retry behaviour, another knew the clinic-calendar data, a third had written the queueing. Assembling six of them for a 55-minute session with a 4-minute rotation put the whole path in one room, and the misunderstanding at the seam surfaced in the first quarter of an hour. **An expensive-to-reverse decision.** A one-way change — reshaping stored appointment history, choosing an interface many teams will consume — benefits from everybody being bound to the decision at the moment it is made, rather than discovering their objection when reversing is costly. **A genuine unknown.** For a spike where the next step is not known, an ensemble's throughput penalty barely applies: you are not producing less code, because nobody knew what code to produce. **Spreading a practice.** Introducing an unfamiliar technique across a team lands faster when everyone does it once together than when one person writes it up. ## Cases where it does not Routine, well-understood, parallelisable work. Small local fixes. Any session whose real purpose is that someone wants to be seen making the decision. And any session with no facilitator and no timebox, which reliably turns into one confident person narrating while the rest half-listen with laptops open. ## Failure modes to name - **The lecture.** The person who knows the area drives and explains for an hour. Fix it by putting the least familiar person on the keyboard. - **Silent passengers.** Half the room stops contributing. A facilitator draws them back by asking the next step from a specific person, not from the room. - **Divided attention.** Laptops open, messages answered. An ensemble with divided attention is the most expensive way to do nothing. - **No stopping rule.** Sessions expand to fill the day and quality falls off a cliff after the first couple of hours. ## How to judge whether it worked Judge it on the thing it is for, not on items delivered that day — measured on throughput alone, an ensemble always looks bad. Better signals: how many people can now describe the change, how many follow-up questions arrive afterwards, whether the decision stayed decided, and how quickly a new joiner made their next change unaided. Those signals are indirect and easy to argue with, which is why an ensemble is proposed as a bounded experiment with a stated purpose rather than adopted as a permanent way of working.
- How do you stop an ensemble session turning into one person lecturing the room?Put the least familiar person on the keyboard and keep the rule that the driver types what the group decides, so the expert has to express ideas rather than execute them. Give the facilitator explicit permission to direct the next step to a named person instead of the room, keep the rotation short enough that nobody settles in, and park deep tangents on a list. If the expert is still narrating continuously, that is a signal to convert the session into a walkthrough and stop pretending it is an ensemble.
- What would convince you an ensemble experiment had failed and should stop?Set the purpose and the signal before you start. If the purpose was onboarding and new joiners still cannot make an unaided change in the area afterwards, or if the purpose was a shared decision and it gets reopened by people who were in the room, it did not work. Operational symptoms count too: sessions that consistently run past their timebox, participants working on other things during them, or the group only being able to point at output volume as evidence of value.
- How does an ensemble differ from a design meeting about the same change?A design meeting produces an intention; an ensemble produces the change itself, so the disagreements surface against real behaviour rather than against a whiteboard. That is its main advantage — the case nobody anticipated appears while the group is present to decide about it. Its main disadvantage is the same thing: it consumes the whole group's hour on a single execution path, so it is worth it only when the execution is where the uncertainty lives.
A surgical theatre rather than a production line: one pair of hands, several specialists watching for different things, and everyone leaves the room having seen the same operation.
saying these in an interview costs you the question
- Proposes an ensemble for routine work several people could split
- Runs a session with no timebox and no facilitator
- Lets the person who knows the area drive the whole session
- Judges an ensemble purely on items delivered that day
- Treats it as a permanent way of working with no stated purpose
- Assumes attendance equals participation with laptops open