I decided to share my response in my blog as well as the group, in case others might find this interesting.
How do you start on a normal day of your work? Do you come prepared with a scenario, or do you start with a previously prepared scenario? There's no difference. The heuristic I try to use is "everyone should be learning or contributing" and that helps me choose what we'd do together. My team uses mob testing / programming for learning, not all production work. There's other teams (most famously Hunter, Cucumber Pro and Alaskan Airlines teams) that use mobbing for most/all production work. I don't think there's hard/fast rules, but these are ones I try to adhere to:
- Roles & rotation. Driver on keyboard, navigators decide what to do. To learn navigation, try designated navigator pattern. Rotate on timer, short to begin with.
- Kindness, consideration and respect
- Yes, and... - continue and build on the others work
- No thinking leading to independent decisions on direction at the keyboard - trust the group of navigators to set the direction.
- If you're not learning or contributing, rethink what you're doing
- If you disagree on which way to do things, do it both ways and then decide.
- Retrospect regularly.