LoginSignup
0
0

【プラクティス紹介】1分でさらっと分かる「モブプログラミング」

Last updated at Posted at 2023-09-12

プラクティス名(別名)

モブプログラミング (モブプロ、モブワーク、モビング、モビングセッション)

プラクティスの目的・狙い

  • フロー効率の最大化
  • チームワーク向上
  • チーム学習促進
  • 属人化解消

どんな時に使うか

  • チームの総力を結集して最短でバグを解消したい時
  • プロダクトの核となる重要プログラムを全員で共有したい時

実施手順

  1. DEV全員が集合し、最初のタイピスト役を決める(他のメンバーはモブ役)
  2. 全員で同じ画面を見ながら、モブがコーディングの指示を出す
  3. タイピストは私情を挿まずに、指示通りにタイプすることに徹する
  4. 10分前後でタイピストを交代する
  5. 集中力を持続させるために30~60分毎に休憩をとる

全員が同じ作業に従事するのでリソース効率は落ちるが、その分フロー効率が上がるため適切に機能すれば生産性はむしろ高まる。レビュー/承認/コード同期/情報共有といったプロセスが全て不要となるためフローが極めてシンプルになる。自然と「問題vs私たち」の構図が出来上がり、チームの連帯感が生まれる。問題解決も早く、学習効果も高い。

アレンジ例

  • 属人化しているプログラムに手を入れる時はモブプロにして、有識者はモブに徹する

アンチパターン

  • タイピストが主導権を握ってしまい自分の書きたいようにコードを書き進めてしまう
    (=モブが観客化してしまう)
  • タイマーが鳴った後、区切りのよいところまでやってから交代するルールにする
    (=間延びする原因になりやすい)

参考情報

こぼれ話(私的コメント)

ソロ/ペア/モブの使い分けが良く分からないという人のために(というか、そんな僕自身のために)、それぞれの特徴を整理してみました。主観100%ですが、少しでも参考になれば幸いです。

比較観点 ソロワーク ペアプロ モブプロ
参加人数 1人 2人 3~10人
役割 ドライバ、ナビゲータ タイピスト、モブ
目的 リソース効率を最大化する(手分けして誰もが手を動かしている状態にする) メンバー間のスキル差/知識差を緩和し、コード品質を一定に保つ(手戻りを減らす) フロー効率を最大化する(全員の力を結集して最速で仕上げる)
メリット ①自分のペースで仕事ができる ②個人毎の生産性が分かりやすい ①間違いを減らせる ②相談しやすい ③互いに当事者意識を持てる ④スキルアップにつながる ①共通認識とチーム意識の醸成 ②多角的なチェック ③迅速な問題解決 ④レビューがいらない
デメリット ①品質が個人依存 ②第三者チェックが必要 ③行き詰まりやすい ④属人化しやすい ⑤個人主義に陥りやすい ①1on1に緊張してしまう人もいる ②ペアの相性で生産性が変わる ③ペアのローテーションを考える手間 ①人数が増えると発言機会が減る ②傍観者になってしまう人がでる ③意見が分かれると時間がかかることも ④全員のスケジュール調整が必要
適用対象 誰でも簡単にこなせる単純なもの、相談する必要がないもの 考えながら進めた方がいいある程度複雑なもの、スキトラしたいもの 緊急度や重要度が高く、注意力を要するもの(緊急障害対応や最重要機能など)

 アジャイルプラクティス一覧へ戻る

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0