Mob Programming

All the brilliant people working on the same thing, at the same time, in the same place, and on the same computer.

Mob Programming is a cost-effective, collaborative and fun way to get work done together. It's a whole-team approach to development, where coding, designing, testing, and working with the "customer" (partner, Product Owner, User, etc.) is all done as a team.

Participants in this workshop experience a typical day of Mob Programming while learning the mechanics of how to work together as a Mob and the techniques that make this form of development so effective.

Learn how a mob performs sample project work, including user stories, prioritization, test-driven development, refactoring, and retrospectives.

Designed by Mob Programming pioneer Woody Zuill, this workshop provides a hands-on education in the art of mobbing and it's significant benefits for your teams.

Agenda

  • Day 1 - Mob Programming
  • What Is Mob Programming & The basics of how it works
  • First Exercise: A Code Dojo to Introduce Basic Concepts
  • Driver/Navigator teamwork Roles and Techniques
  • Second Exercise: A sample project
  • The Importance of Retrospectives
  • Advanced Mob Programming Concepts
  • Third Exercise: Expanding on the Sample Project
  • Amplified Learning - How to take advantage of learning opportunities
  • Resolving Conflict
  • Retrospective and review

Course Details

Transfer
Knowledge: 50%, Skill-Building: 50%
Learning outcomes
  • How 5+ people can be effective working on just one thing
  • Heuristics for team size
  • Guidelines for successful collaboration
  • Handling competing solutions and ideas to a coding problem
  • Encouraging politeness and kindness of team members
  • Reducing or eliminating harmful conflicts
  • Mobbing Mechanics
  • Tools for team coding
  • Workspace setup
  • How to "Amplify Learning" and take advantage of continual learning opportunities
  • "Real-time" and continuous Retrospectives to reflect, tune, adjust
  • The theory of why Mob Programming is effective.
  • Test-Driven Development (TDD) as a team
  • Working with Product Owners, Business Experts, as part of the team
  • Refactoring as a team
  • Continuous feedback at all levels of granularity
Method of Instruction
Interactive Dialogues, Simulations, Hands-on Exercises and Videos
Target Audience
Primary: Anyone involved in software development work including "non-coders". Not everyone needs to take the keyboard.
Course Level
Introductory-Intermediate
Course Prerequisites
Required: Some experience in software development

Requirements

General Requirements

To ensure a successful class, we require the following facilities:

  • VGA projector (1024x768 minimum)
  • Projector screen
  • Speakers (to connect instructor's machines. Sound should be audible to the whole class)
  • White board
  • Dry erase markers
  • Flip chart and stand
  • Ample room for students in terms of room size and set up (prefer U-Shape seating)
Class Room Setup

To ensure a successful class, we require the following facilities:

  • Preferred arrangement is small round tables with 6-8 people to support small-group discussion
  • Three additional flip-charts with stands (for small-group use)
  • For each team of 4-7 people that are participating, we will need to have a mob-programing setup. This consists of a table where team can all sit facing a projected screen.
  • Each table must have a computer ready for development
  • Projector and a wall or projector screen

Once an agreement for the workshop is confirmed, we will work with your designated contact to ensure that the environment is configured properly prior to the workshop.

Request a Quote