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:

  • 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:

  • 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 a successful workshop setup.

Request a Quote