Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
モブプロって??
Search
Katsuya
November 07, 2022
Programming
1
170
モブプロって??
Katsuya
November 07, 2022
Tweet
Share
More Decks by Katsuya
See All by Katsuya
カンファレンスでリフレッシュ!無理なく楽しむカンファレンス参加術 / How to enjoy conferences without stress
kattsuuya
1
9.5k
会社の先輩とアプリ開発始めてみた!『Fearless Change』のパターンで振り返るサブプロジェクトの始め方 / How to start a subproject
kattsuuya
0
490
enPiT修了生の日常の仮説検証 / "Hypothesis Verification in Daily Life by an enPiT Graduate"
kattsuuya
0
430
Other Decks in Programming
See All in Programming
SourceGeneratorのマーカー属性問題について
htkym
0
130
株式会社 Sun terras カンパニーデック
sunterras
0
2k
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
110
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
360
24時間止められないシステムを守る-医療ITにおけるランサムウェア対策の実際
koukimiura
2
180
Ruby x Terminal
a_matsuda
6
570
CSC307 Lecture 11
javiergs
PRO
0
590
CopilotKit + AG-UIを学ぶ
nearme_tech
PRO
1
120
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
7.5k
AIコーディングの理想と現実 2026 | AI Coding: Expectations vs. Reality 2026
tomohisa
0
970
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
510
atmaCup #23でAIコーディングを活用した話
ml_bear
4
730
Featured
See All Featured
Abbi's Birthday
coloredviolet
2
5.1k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Evolving SEO for Evolving Search Engines
ryanjones
0
150
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
260
So, you think you're a good person
axbom
PRO
2
1.9k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
400
Joys of Absence: A Defence of Solitary Play
codingconduct
1
300
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
110
Exploring anti-patterns in Rails
aemeredith
2
280
The Spectacular Lies of Maps
axbom
PRO
1
580
Are puppies a ranking factor?
jonoalderson
1
3.1k
Transcript
モブプロの ここがすごい!! 2022.02.15
• モブプロとは • モブプロの効果 • どんなときにモブプロで作業するか おしながき
モブプロを理解し 開発手法の選択肢の1つに入れる 本日のゴール
モブプロとは
モブプロ ◦ 同じことを ◦ 同じ時間に ◦ 同じ場所で ◦ 同じPCで 全員で
行うこと
None
役割 ドライバ 1人 • ナビゲータの指示通りにコードを書く • 指示されていないことはやらない ナビゲータ
n人 (n ≧ 1) • ドライバに具体的な記述内容を伝える • モブ(全員)で相談して解決策を見出す
それぞれの役割で意識すること ドライバ • 書いている・書こうとしていることを口に出す • わからないことは質問する • 理解してないけど言われたとおりに書くは✕ • 自分1人で黙々ゴリゴリ実装しない
ナビゲータ • 構造化した指示を出す ◦ 「hogeをする関数を実装したいので、 まずfunction hogeと書いて、、、」 • ドライバの理解度がどの程度か意識する •
(特に熟練者じゃない人は)わからないこと があったらその場で言う それぞれの役割で意識すること
モブプロのイメージ 作業してる様子を全員で見る 全員で考えたことをドライバが書く
モブプロの効果
• 進捗や情報の共有のための時間的コストが下がる ◦ 後で共有すると同期に時間がかかる • 考え方、プログラミングテクニックなど ◦ まず先に手書きのメモでイメージをまとめるのか ◦ この場合の変数名は、、、
◦ そんな書き方あったんだ! ◦ こういうショートカットキーがあってね、、、 その場でのナレッジ共有
• 複数人の目で見れる ◦ バグに気づきやすくなる ◦ 他のモジュールの設計思想を持ち寄れる • その場で良い設計・記述について議論 ◦ 可読性
◦ 適度に関数やコンポーネントに切り出しているか ◦ 良い命名か 即座にコードレビュー
• 認知的徒弟制 ◦ 1. 熟練者がまずやってみせる ◦ 2. 熟練者が学習者に課題を与え、ヒントやアドバイスを与えながら解か せる ◦
3. 2. と同様の形式で大きい課題を与える ◦ 4. 学習者が一人で取り組む • 段階的な新人教育 ◦ 認知的徒弟制と似たような手順で • モジュール理解の初速を上げる ◦ 1からコードリーディングさせるよりも遥かに速い 新人教育などに有効
• 1人に責任がのしかかることがない ◦ 解決方法がうまく浮かばないときとか ◦ うまく行かないときの罪悪感 ◦ みんなで問題を倒す意識 • トラックナンバーを上げる(属人化を防ぐ)
◦ 大学が忙しかったり急な予定が入っても対応できる組織に 心理的安全性の確保
• モブプロをやったことがある人の感想 ◦ 普段他の人が開発時に考えている事がわかって良い! ◦ チーム内の技術力の差が埋まって良かった ◦ 何より楽しい! ◦ 作業効率が落ちるなぁ
• ネット上の実践記事より ◦ 意思決定のスピード感、ハマる時間が減るのが良い ◦ 初心者が置いていかれない モブプロ実践者の声
いつモブプロで作業するの?
モブで作業するタスク・そうでないタスク 種類 特徴 例 モブ向き • 不確実性が高い • フロー効率を上げたい •
属人化を防ぎたい • 解決方法が不明瞭で 探り探り実装するIssue • マニュアルの英語化作業 • モジュール引き継ぎや 新人教育 分担作業向き • やることが決まっている • リソース効率を上げたい • 動画データの整理分類 • 目的の決まっている 文献調査 • 熟知している人による バグ修正など
• モブプロとは ◦ 1人のドライバ+複数人のナビゲータでプログラムを書く • モブプロの効果 ◦ 即時的なナレッジ共有 ◦ 認知的徒弟制
◦ 心理的安全性の確保 • どんなときにモブプロで作業するか ◦ 不確実性が高い、属人化を防ぎたいタスク まとめ
モブプロを理解し 開発手法の選択肢の1つに入れる 本日のゴール(再掲)