モブプログラミング
3人以上の開発者が1台のコンピュータで協働してコードを書く手法。ペアプログラミングの拡張版。
基本構造
- ドライバー: コードを書く(1人)
- ナビゲーター: 設計や方向性を考える(複数人)
- 定期的にローテーション(例: 10分ごと)
利点
- 多様な視点: より多くの知識と経験が集まる
- チーム全体の認識統一: プロダクションモデルとコンセプトモデルの共有度が高まる
- 即座の意思決定: 全員がコンテキストを共有しているため、判断が早い
認知負荷との関係
開発者間の認知負荷を最小化する実践。チーム全体でプロダクションモデルを共有するため、新たなコンセプトモデルを構築する際の差分も小さくなる。
コスト
複数人が同時に同じタスクに従事するため、人時換算では非効率に見える。しかし、知識共有や品質向上による長期的な効果は大きい。