View on GitHub

Cross-Disciplinary Software Team Spaces

A Pattern Language

Mob Programming Corner

Summary

Create dedicated spaces where entire teams (4-6 developers) can work together on one task. These spaces feature large displays, flexible seating, and open-yet-defined boundaries.

Context

Mob programming (or ensemble programming) brings the entire team together to work on a single piece of code simultaneously. This practice requires specialized physical environments. Traditional individual workstations or even pair programming setups cannot support this.

Problem

Standard office layouts lack spaces where 4-6 people can comfortably gather around one shared screen for extended periods. Conference rooms are too formal and isolated. Open desk areas lack the focus and equipment needed for intensive collaborative coding sessions.

Solution

Design dedicated mob programming stations with:

Display and Table Setup:

Input and Equipment:

Spatial Design:

Furniture and Ergonomics:

Forces

Detailed Equipment Specifications

Display Technology and Positioning

Primary Display Requirements:

Recommended Models:

Mounting and Positioning:

Additional Display Considerations:

Input Device Infrastructure

Keyboard and Mouse Solutions:

Recommended Input Hardware:

Computer and Processing Power:

Connectivity Hub:

Furniture and Ergonomic Design

Seating Arrangements:

Table and Work Surface:

Mobility and Reconfiguration:

Comprehensive Facilitation Guidelines

Effective Mob Session Management

Session Structure and Timing:

Role Definitions and Rotation:

Physical Arrangement Protocols:

Communication and Participation Techniques

Inclusive Participation Strategies:

Managing Different Expertise Levels:

Conflict Resolution and Decision Making:

Technology and Tool Integration

Development Environment Setup:

Remote and Hybrid Mob Programming:

Digital Equivalents for Virtual Mob Programming

Real-Time Collaborative Development Platforms

VS Code Live Share (Microsoft):

CodeTogether (Genuitec):

Tuple (macOS-focused):

GitLive:

Duckly:

Virtual Mob Programming Session Structure

Pre-Session Setup (15 minutes):

  1. Tool Testing: Verify all participants can access shared environment
  2. Audio/Video Check: Ensure high-quality communication for 6+ people
  3. Screen Resolution: Standardize display settings for consistent visibility
  4. Backup Plans: Secondary tools ready for technical issues

Enhanced Driver Rotation Protocol:

Communication Enhancements:

Advanced Virtual Setup Configurations

Hybrid Physical-Digital Spaces:

Multi-Location Coordination:

Performance and Quality Monitoring:

Technology Infrastructure Requirements

Network and Connectivity:

Hardware Specifications for Remote Participants:

Security and Compliance:

Quality Assurance During Mobbing:

Space Transition and Multi-Use Protocols

Session Preparation (10 minutes):

  1. Environment Setup: Boot systems, load project, test all input devices
  2. Team Gathering: Brief check-in on energy levels and session goals
  3. Role Assignment: Establish initial driver/navigator and rotation order
  4. Ground Rules: Review session agreements and communication protocols

Session Transitions:

Space Cleanup and Reset:

Measuring Mob Programming Effectiveness

Session Quality Metrics:

Long-term Success Indicators:

Space Utilization Analytics:

Examples and Case Studies

Successful Mob Programming Environments

Hunter Industries - Automated Systems Division:

Menlo Innovations - Custom Software Development:

Pivotal Labs - Enterprise Consulting:

Sources

Foundational Research

Virtual Collaboration Tools and Research (2024)

Hybrid Work Infrastructure