モブプロを取り入れるとき
必要のないとき
Tadashi Aikawa
2024/12/01 Minerva Lightning Talks

Tadashi Aikawa

Productivity Creator since 2010
OS
Windows (開発はUbuntu on WSL)
言語
TypeScript >> Python = Go = Rust > Lua
エディタ
Neovim / Obsidian
デバイス
EIZO / HHKB Studio / SlimBlade
好き
創作活動・温泉・甘味・動物(ぬいぐるみ含む)
苦手
お酒・車・勉強
楽しい仕事
個人やチームの生産性を上げて成果に繋げる

モブプロを始めたのは7~8年前

Agenda

  1. モブプロとは
  2. 手段としてのモブプロ
  3. モブプロのロール
  4. まとめ

Chapter

01

  1. モブプロとは
  2. 手段としてのモブプロ
  3. モブプロのロール
  4. まとめ

モブプロとは

  • 正式名称『モブプログラミング』
  • 皆で集まり、『同じ時間』『同じ場所』で『同じモノ』を開発する手法
  • 一般的に参加者は3名以上だが、本スライドでは2名の場合も含める

モブプロは時間の無駄ではないか..??

  • みんなで集まって、しかも1つのタスクしか進行できない
  • 自席よりもあらゆる環境が劣っており生産性が悪い
    • 『モニタが1台? 冗談だろ??』
    • 『椅子が悪いから腰が痛いよ..』
    • 『結局みんな非効率な環境で内職してるだけさ hahaha』
  • 新人は操作が遅いし、熟練者がすべて伝えるだけ時間の無駄
  • 熟練者が操作すると、新人はついていけなくて置いてかれるだけ
  • 『今週予定のタスクが進捗よくないので欠席で』
  • 『1人で苦労しなければいつまでも半人前よ』

半分正解

だけど半分不正解

タスクとチームの状況によって変わってくる

Chapter

02

  1. モブプロとは
  2. 手段としてのモブプロ
  3. モブプロのロール
  4. まとめ

そもそもモブプロは 手段

リソース効率とフロー効率

center

リソース効率重視であることが垣間見えるワード

  • 〇〇さん にタスクをふらなきゃ』
  • 〇〇さん が「やることがない」と言っていました』
  • 〇〇さん の予定と実績はどうなってる?』

リソース効率重視であることが垣間見えるワード

  • 〇〇さん にタスクをふらなきゃ』
  • 〇〇さん が「やることがない」と言っていました』
  • 〇〇さん の予定と実績はどうなってる?』

が主語や目的語になる会話が増える

フロー効率重視であることが垣間見えるワード

  • 『来週までに〇〇できるようにしよう』
  • 『どうすれば〇〇できるだろうか?』
  • 『〇〇の優先度は今はどうなってる?』

フロー効率重視であることが垣間見えるワード

  • 『来週までに〇〇できるようにしよう』
  • 『どうすれば〇〇できるだろうか?』
  • 『〇〇の優先度は今はどうなってる?』

タスク が主語や目的語になる会話が増える

どちらが 良い/悪い ではない

タスク・チーム状況によって

どちらの効率をどれだけ重視するべきかは変わる

タスクによってどちらを重視すべきかの指標例

リソース効率重視 フロー効率重視
不確実性 低い 高い
レビュー差し戻しリスク 低い 高い
影響範囲 狭い 広い
チームメンバの作業待ち ほぼ無い ある

そもそもモブプロは 手段

再掲

リソース効率重視のタスクなら

そもそも不要

では、フロー効率重視のタスクなら

必ずモブプロをやった方がいいのか?

どちらが 良い/悪い ではない

タスク・チーム状況によって

どちらの効率をどれだけ重視するべきかは変わる

再掲

どちらが 良い/悪い ではない

タスク・チーム状況によって

どちらの効率をどれだけ重視するべきかは変わる

再掲

これらができるチームなら やり方はなんでもいい

  • 個人に十分な業務遂行能力がある
    • 1人で案件の要件定義からリリースまでできる
    • 必要に応じて相談ができる
  • プロジェクトの状況を見極め 自発的に考えて 次のアクションをとれる
    • 指示待ちになったり、暇になることはない
  • 状況に応じて必要な知識をチームメンバ全員で共有できている
    • Slack、口頭コミュニケーションなどを利用
    • 日常的に 発信受信 できていることが大事

かなり高いハードルだと思います...

そんな貴方に『モブプロ』

Chapter

03

  1. モブプロとは
  2. 手段としてのモブプロ
  3. モブプロのロール
  4. まとめ

集団戦で大事なこと...

それは役割(ロール)を意識することだ

MOB PROGRAMMING: THE ROLE PLAYING GAME
by Willem Larsen CC-BY-SA-NC 2016
Powered by the Apocalypse - thanks to BigBadCon 2016 for inspiration
willemlarsen/mobprogrammingrpg

モブプロのロール (一部のみ)

LV1

  • タイピスト Driver
  • ナビゲーター Navigator
  • モブ Mobber

LV2

  • 研究者 Researcher
  • 後援者 Sponsor
  • 提督 Rear Admiral

LV3

  • 自動化担当 Automationist
  • 司書 Archivist
  • 鼻担当 Nose

LV4

  • 交通警察 Traffic Cop
  • 痛み担当 Major Pain

各ロールの定義はリポジトリ参照

jpディレクトリ配下に日本語もあります

4人でやる場合にオススメなロールパーティー

  • タイピスト Driver (必須)
  • ナビゲーター Navigator (必須)
  • 研究者 Researcher
  • 司書 Archivist

※ モブの最中はずっと同じロールである必要はなく、むしろローテーションを推奨

6人でやる場合にオススメなロールパーティー

  • タイピスト Driver (必須)
  • ナビゲーター Navigator (必須)
  • 研究者 Researcher
  • 提督 Rear Admiral
  • 司書 Archivist
  • 自動化担当 Automationist

※ モブの最中はずっと同じロールである必要はなく、むしろローテーションを推奨

Chapter

04

  1. モブプロとは
  2. 手段としてのモブプロ
  3. モブプロのロール
  4. まとめ

まとめ

  • モブプロはフロー効率重視の作業を矯正する手段
  • モブプロをすべきかどうかはタスクチーム状況による
  • モブプロ実施の際はロールを意識するとよい

おまけ

個人的にチーム開発で大切にしていること

  • 始めることよりも終わらせることを大事にしよう
    • リリースできる状態にしてはじめて終わらせたと言える
    • 実装が終わっただけでは最悪の場合は未着手と同じ
  • 1人でやりきるのではなくチームで最速の方法を考えよう
    • 3人で1時間30分で終わるなら、1時間30分後にリリースができる
    • 1人で4時間頑張って、レビューを数往復して2日後になったら..??
  • モブプロが必要なのに時間を作れないならタスクの優先度を考えなおそう
    • すべてが最優先だと、モブは成立せず個人のタスクを優先してしまう
    • ただし 兼務をしている場合 は除く

仕事だったら『所属』『代表プロダクト』『入社年』などを入れる