Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20190404_モブプログラミング.pdf
Search
Mariko
April 04, 2019
Programming
0
300
20190404_モブプログラミング.pdf
Mariko
April 04, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
230
チーム開発の “地ならし"
konifar
8
6.8k
スタートアップを支える技術戦略と組織づくり
pospome
8
14k
AIエージェントでのJava開発がはかどるMCPをAIを使って開発してみた / java mcp for jjug
kishida
4
850
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
3.1k
モデル駆動設計をやってみよう Modeling Forum2025ワークショップ/Let’s Try Model-Driven Design
haru860
0
220
Herb to ReActionView: A New Foundation for the View Layer @ San Francisco Ruby Conference 2025
marcoroth
0
230
jakarta-security-jjug-ccc-2025-fall
tnagao7
0
110
AI時代もSEOを頑張っている話
shirahama_x
0
210
TVerのWeb内製化 - 開発スピードと品質を両立させるまでの道のり
techtver
PRO
3
1.3k
sbt 2
xuwei_k
0
140
Web エンジニアが JavaScript で AI Agent を作る / JSConf JP 2025 sponsor session
izumin5210
4
2.1k
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Statistics for Hackers
jakevdp
799
230k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
360
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Facilitating Awesome Meetings
lara
57
6.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Speed Design
sergeychernyshev
33
1.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
For a Future-Friendly Web
brad_frost
180
10k
Transcript
モブプログラミング
モブとは
モブプログラミングとは? ﹡ モブ = 群集 ﹡ 「3人以上」の人々が1台のコンピューターの 前に座って協力しながら問題を解決してい くこと
﹡ リソース効率とフロー効率
リソース効率とフロー効率 リソース効率が良い 稼働率100%、リソースに遊びがない フロー効率が良い 機能リリースまでのリードタイムが短い 渋滞する道路のイメージ
モブプロの利点 ﹡ モブプロはフロー効率を重視 ﹡ フロー重視「機能を安く作るのではなく、早く 完成させること」を目標とする ﹡ キーパーソンへの依存度が下がる
﹡ 仕事の品質が上がる=集団の方がいい判 断を下せる
モブプロの効果を測定・・? ﹡ チームの短期的な「ベロシティ」には現れな い(むしろ短期的には下がる) ﹡ チームがチームとして固まってくるまである 程度の時間が必要 ﹡
モブプロが解決する問題は複雑 ◦ エラー率の減少 ◦ 経験の浅いメンバーの学習度上昇
成長記録の管理 モビングによって得られた成功を文書化して記 録しておく(特に導入当初は効果的) ﹡ 成功を実感した日のできごと ﹡ 知識共有の機会が生まれた時
﹡ 品質上の問題が見つかったこと 参加者全員で記録をメンテナンスすると良い
モブプログラミングのはじめ方
最初のモビング ﹡ モビングは「実験」 ◦ 導入は一時的 ◦ 形態はモビングセッション を数回行う ◦ 5回以上を目指す
﹡ オプトイン ◦ 参加を強制しない ﹡ 参加者を決める ﹡ 場所を見つける ﹡ 解きたい問題を見つける ﹡ マシンの準備 ﹡ タイマーの準備
ちょっとした秩序 効果を生むために
参加者 ﹡ 初期は 3〜4人 が良い ﹡ コードを書ける人だけ ﹡
全員にキーボードの前に座る機会を作る ﹡ 役割 ◦ タイピスト(1人) ◦ モブ
タイピスト その他のモブがしてくれと言ったことを取り入れて 実装するスマートアシスタント 1. モブがしてくれと頼んだことを「理解する」 2. 要請の意味がはっきりしないときには「質問をする」 3.
してくれと頼まれたことをコードの形に「実装する」 4. その他のモブを「信頼する」 5. 新しいことを「学ぶ」(他の人のツールの活用法など)
モブ 問題解決チームの一員になる 1. 問題解決につながる次の論理的 ステップを見つけるために力にな る 2. 理解できるまで質問をする
3. モブ全体の理解の水準を上げる ために貢献する 4. 眼の前の問題に集中する 5. ほかのメンバーの意見を聞く 6. 必要な情報を予測する 7. システムのなかの改善すべき部 分を探す
場所 ﹡ 全員が窮屈にならず、快適な場所 ﹡ 同時にコードを見れるようなところ ﹡ 必要な備品 ◦
大画面 ◦ ホワイトボード
解きたい問題を選ぶ ﹡ 納期が迫っていないもの ﹡ 全員が同じ立場で向き合える問題 ﹡ カタ(おすすめ) ◦
モブ全員が良いと思うもの ◦ 解決にセッション1つ分必要になるものが 適切
モビングセッション ﹡ 2時間程度 ﹡ 準備(30分程度) ﹡ 本体(1時間30分程度) ◦
各インターバル(10分) ﹡ しめくくり(20分程度)
準備 30分
準備0 モブプロについて説明 ﹡ 役割や心構えなど ﹡ このスライドで説明している内容
準備1 1セッションで解ける適切な問題を選ぶ
準備2 問題の概要を説明 ﹡ 取り組むためのおおよそのプランを一致させる ﹡ ホワイトボードでブレスト ﹡
15分程度で終わらせる ﹡ ホワイトボードにおおよその手順を書き出す
準備3 タイピストの順番を決める ﹡ ホワイトボードに順番を書き出す
セッション本体 1時間30分
本体 ﹡ インターバル 10分 ﹡ タイマーが切れたら ◦ 次のタイピストへ ◦
Gitにマイクロコミット(コミットメッセージを 書かないコミット) ﹡ モブの中でのその時の自分の役割を意識 ﹡ セッション冒頭でホワイトボードに書いた手 順に絶えず立ち返る
ふりかえり 20分
ふりかえり手法:シンキングハット ステップ 帽子 時間 1 仕組みと説明 ー 4分 2
事実と数字 白 2分 3 肯定的感想 黄色 3分 4 批判的感想 黒 3分 5 建設的な問題解決法 緑 5分 6 軌道修正すべきことの決定、合意形成 ー 5分
黄色 肯定的感想 - 一番うまくいった ことは何か? - 予想外に簡単 だったのは何 か?
- セッションでいい と思ったことは何 か? 黒 批判的感想 - うまくいかなかっ たのは何か - どこに不満を感じ たか 正当な感想かどうかに ついて意見の一致は不 要 緑 建設的な問題解 決法 この段階では、アイデ アを提案するだけであ り、どんな提案も却下 されない 白 事実と数字 例 : - タイピストを10分 ごとに交代させた - エディタのフォント サイズは16ptだっ た 評価になっていないか 注意 全員が同時に同じ帽子をかぶる
軌道修正すべきこと・合意形成 ﹡ 3分のタイマーをかける ﹡ 次のセッションで変えることを「ひとつ」決める ﹡ 全員の賛同を得る
﹡ Try ﹡ 全員の賛同を得られない場合何も変えない
初めてのモブプロはこんな感じ
2019/2/23 発売 おすすめ!
Shall we?