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
140
モブプロって??
Katsuya
November 07, 2022
Tweet
Share
More Decks by Katsuya
See All by Katsuya
カンファレンスでリフレッシュ!無理なく楽しむカンファレンス参加術 / How to enjoy conferences without stress
kattsuuya
1
8.6k
会社の先輩とアプリ開発始めてみた!『Fearless Change』のパターンで振り返るサブプロジェクトの始め方 / How to start a subproject
kattsuuya
0
400
enPiT修了生の日常の仮説検証 / "Hypothesis Verification in Daily Life by an enPiT Graduate"
kattsuuya
0
370
Other Decks in Programming
See All in Programming
プロダクト志向なエンジニアがもう一歩先の価値を目指すために意識したこと
nealle
0
110
第9回 情シス転職ミートアップ 株式会社IVRy(アイブリー)の紹介
ivry_presentationmaterials
1
250
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
980
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
5
1.4k
Benchmark
sysong
0
280
XP, Testing and ninja testing
m_seki
3
220
Go1.25からのGOMAXPROCS
kuro_kurorrr
1
820
LINEヤフー データグループ紹介
lycorp_recruit_jp
0
1.4k
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
highu
0
110
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
340
Team operations that are not burdened by SRE
kazatohiei
1
270
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
210
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
430
65k
We Have a Design System, Now What?
morganepeng
53
7.7k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
The Cult of Friendly URLs
andyhume
79
6.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Writing Fast Ruby
sferik
628
62k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
Scaling GitHub
holman
459
140k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
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つに入れる 本日のゴール(再掲)