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
150
モブプロって??
Katsuya
November 07, 2022
Tweet
Share
More Decks by Katsuya
See All by Katsuya
カンファレンスでリフレッシュ!無理なく楽しむカンファレンス参加術 / How to enjoy conferences without stress
kattsuuya
1
8.8k
会社の先輩とアプリ開発始めてみた!『Fearless Change』のパターンで振り返るサブプロジェクトの始め方 / How to start a subproject
kattsuuya
0
420
enPiT修了生の日常の仮説検証 / "Hypothesis Verification in Daily Life by an enPiT Graduate"
kattsuuya
0
380
Other Decks in Programming
See All in Programming
🔨 小さなビルドシステムを作る
momeemt
0
280
TROCCO×dbtで実現する人にもAIにもやさしいデータ基盤
nealle
0
320
サイトを作ったらNFCタグキーホルダーを爆速で作れ!
yuukis
0
440
TanStack DB ~状態管理の新しい考え方~
bmthd
2
290
WebAssemblyインタプリタを書く ~Component Modelを添えて~
ruccho
1
900
AI時代のドメイン駆動設計-DDD実践におけるAI活用のあり方 / ddd-in-ai-era
minodriven
23
8.9k
Langfuseと歩む生成AI活用推進
licux
3
290
KessokuでDIでもgoroutineを活用する / Go Connect #6
mazrean
0
110
Infer入門
riru
4
1.6k
LLMOpsのパフォーマンスを支える技術と現場で実践した改善
po3rin
8
970
DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜
ota1022
5
1.8k
Nuances on Kubernetes - RubyConf Taiwan 2025
envek
0
190
Featured
See All Featured
Site-Speed That Sticks
csswizardry
10
780
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Optimizing for Happiness
mojombo
379
70k
Why Our Code Smells
bkeepers
PRO
338
57k
4 Signs Your Business is Dying
shpigford
184
22k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
560
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.5k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
GraphQLとの向き合い方2022年版
quramy
49
14k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Visualization
eitanlees
146
16k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
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つに入れる 本日のゴール(再掲)