What is Mob Programming?
All the brilliant people working at the same time, in the same space, at the same computer, on the same thing
Pair Programming on overdrive
Why did we try this?
- Knowledge transfer
- More eyes
- Forced to follow best conventions
Hidden benefits
- Lower defect rate
- Never blocked within the team
- Avoided many rabbit holes
- Productivity gains
- Knowledge transfer beyond development (i.e. to QA, Product Owner, Designer)
Challenges
- Coming up with a good agreement
- Easier prioritization, as the most prioritized thing is the only thing to work on
- Ramp-up period to get used to working as a mob
- Spinning our wheels in exploratory coding
- Time spent waiting forces us all to wait together
Overview of our Agreement
- Follow through for two weeks, so we give it an honest shot
- Specified timeframe to be on-site for
- Only work on highest-priority story
- Don't start a story unless the UATs are done
- No talking over one another or shouting
- No logical fallacies (especially appeal to authority)
- Unanimous agreement rather than tyranny by majority or authority
- Frequent retrospectives