Slide 1

Slide 1 text

モブプロの ここがすごい!! 2022.02.15

Slide 2

Slide 2 text

● モブプロとは ● モブプロの効果 ● どんなときにモブプロで作業するか おしながき

Slide 3

Slide 3 text

モブプロを理解し 開発手法の選択肢の1つに入れる 本日のゴール

Slide 4

Slide 4 text

モブプロとは

Slide 5

Slide 5 text

モブプロ ○ 同じことを ○ 同じ時間に ○ 同じ場所で ○ 同じPCで 全員で 行うこと

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

役割 ドライバ   1人 ● ナビゲータの指示通りにコードを書く ● 指示されていないことはやらない ナビゲータ   n人 (n ≧ 1) ● ドライバに具体的な記述内容を伝える ● モブ(全員)で相談して解決策を見出す

Slide 8

Slide 8 text

それぞれの役割で意識すること ドライバ ● 書いている・書こうとしていることを口に出す ● わからないことは質問する ● 理解してないけど言われたとおりに書くは✕ ● 自分1人で黙々ゴリゴリ実装しない

Slide 9

Slide 9 text

ナビゲータ ● 構造化した指示を出す ○ 「hogeをする関数を実装したいので、 まずfunction hogeと書いて、、、」 ● ドライバの理解度がどの程度か意識する ● (特に熟練者じゃない人は)わからないこと があったらその場で言う それぞれの役割で意識すること

Slide 10

Slide 10 text

モブプロのイメージ 作業してる様子を全員で見る 全員で考えたことをドライバが書く

Slide 11

Slide 11 text

モブプロの効果

Slide 12

Slide 12 text

● 進捗や情報の共有のための時間的コストが下がる ○ 後で共有すると同期に時間がかかる ● 考え方、プログラミングテクニックなど ○ まず先に手書きのメモでイメージをまとめるのか ○ この場合の変数名は、、、 ○ そんな書き方あったんだ! ○ こういうショートカットキーがあってね、、、 その場でのナレッジ共有

Slide 13

Slide 13 text

● 複数人の目で見れる ○ バグに気づきやすくなる ○ 他のモジュールの設計思想を持ち寄れる ● その場で良い設計・記述について議論 ○ 可読性 ○ 適度に関数やコンポーネントに切り出しているか ○ 良い命名か 即座にコードレビュー

Slide 14

Slide 14 text

● 認知的徒弟制 ○ 1. 熟練者がまずやってみせる ○ 2. 熟練者が学習者に課題を与え、ヒントやアドバイスを与えながら解か せる ○ 3. 2. と同様の形式で大きい課題を与える ○ 4. 学習者が一人で取り組む ● 段階的な新人教育 ○ 認知的徒弟制と似たような手順で ● モジュール理解の初速を上げる ○ 1からコードリーディングさせるよりも遥かに速い 新人教育などに有効

Slide 15

Slide 15 text

● 1人に責任がのしかかることがない ○ 解決方法がうまく浮かばないときとか ○ うまく行かないときの罪悪感 ○ みんなで問題を倒す意識 ● トラックナンバーを上げる(属人化を防ぐ) ○ 大学が忙しかったり急な予定が入っても対応できる組織に 心理的安全性の確保

Slide 16

Slide 16 text

● モブプロをやったことがある人の感想 ○ 普段他の人が開発時に考えている事がわかって良い! ○ チーム内の技術力の差が埋まって良かった ○ 何より楽しい! ○ 作業効率が落ちるなぁ ● ネット上の実践記事より ○ 意思決定のスピード感、ハマる時間が減るのが良い ○ 初心者が置いていかれない モブプロ実践者の声

Slide 17

Slide 17 text

いつモブプロで作業するの?

Slide 18

Slide 18 text

モブで作業するタスク・そうでないタスク 種類 特徴 例 モブ向き ● 不確実性が高い ● フロー効率を上げたい ● 属人化を防ぎたい ● 解決方法が不明瞭で 探り探り実装するIssue ● マニュアルの英語化作業 ● モジュール引き継ぎや 新人教育 分担作業向き ● やることが決まっている ● リソース効率を上げたい ● 動画データの整理分類 ● 目的の決まっている 文献調査 ● 熟知している人による バグ修正など

Slide 19

Slide 19 text

● モブプロとは ○ 1人のドライバ+複数人のナビゲータでプログラムを書く ● モブプロの効果 ○ 即時的なナレッジ共有 ○ 認知的徒弟制 ○ 心理的安全性の確保 ● どんなときにモブプロで作業するか ○ 不確実性が高い、属人化を防ぎたいタスク まとめ

Slide 20

Slide 20 text

モブプロを理解し 開発手法の選択肢の1つに入れる 本日のゴール(再掲)