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
ペアプロしようぜ 〜3人で登壇!? 楽しくて速いペアプロ/モブプロ開発〜/pair-mob-p...
Search
masuyama13
October 28, 2023
Programming
2
4.8k
ペアプロしようぜ 〜3人で登壇!? 楽しくて速いペアプロ/モブプロ開発〜/pair-mob-programming-kaigi-on-rails-2023
masuyama13
October 28, 2023
Tweet
Share
More Decks by masuyama13
See All by masuyama13
ペアプロ開発をスムーズに進めるための Tips/pair-programming-tips-20221009
masuyama13
1
1.9k
今度こそ理解する/git-reset-200822
masuyama13
0
2.2k
Ruby クラスは「製造機」/fjordbootcamp-200627
masuyama13
2
1.6k
Other Decks in Programming
See All in Programming
イベントストーミングのはじめかた / Getting Started with Event Storming
nrslib
1
650
例外処理を理解して、設計段階からエラーを見つけやすく、起こりにくく #phpconfuk
kajitack
12
6.3k
2025 컴포즈 마법사
jisungbin
0
140
ソフトウェア設計の課題・原則・実践技法
masuda220
PRO
20
13k
flutter_kaigi_2025.pdf
kyoheig3
1
350
Honoを技術選定したAI要件定義プラットフォームAcsimでの意思決定
codenote
0
250
Developing Specifications - Jakarta EE: a Real World Example
ivargrimstad
0
150
GeistFabrik and AI-augmented software development
adewale
PRO
0
120
Patterns of Patterns (and why we need them)
denyspoltorak
0
110
Module Harmony
petamoriken
2
490
Atomics APIを知る / Understanding Atomics API
ssssota
1
160
Tangible Code
chobishiba
3
690
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
How to Ace a Technical Interview
jacobian
280
24k
Automating Front-end Workflow
addyosmani
1371
200k
Optimizing for Happiness
mojombo
379
70k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Faster Mobile Websites
deanohume
310
31k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
The Invisible Side of Design
smashingmag
302
51k
Scaling GitHub
holman
464
140k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Transcript
Kaigi on Rails 2023 ペアプロしようぜ 3人で登壇!? 楽しくて速いペアプロ/モブプロ開発
masuyama13 eatplaynap (トミー) あんすと
None
動画マニュアルを かんたんに作成・管理
ペア/モブプロを したことがある ✋
ペア/モブプロが メインの体制で 開発したことがある✋
ペア/モブプロ ペア/モブプロがメイン
None
• ペア/モブプロの 良さがわかる このセッションに参加すると…? • ペア/モブプロの 本格的なやり方が わかる
発表 ライブコーディング
これが真の ペア/モブプロだ! おことわり 私たちのチームで うまくいっている方法 • 再現性はあります
ペアプロの研究データ
フィードバックの タイミングと 修正コストの関係 出典: http://www.ambysoft.com/ essays/whyAgileWorksFeedback.html
フィードバックの タイミングと 修正コストの関係 ペアプログラミングによる プログラミングの欠陥の発見 レビューまたは検査に よる欠陥の発見 フィードバックサイクル
修 正 コ ス ト 出典: http://www.ambysoft.com/ essays/whyAgileWorksFeedback.html
ソロプロ vs ペアプロ 開発時間: 15% 増 不具合: 15% 減 (テストケースの通過率)
出典: The Costs and Benefits of Pair Programming (Alistair Cockburn, 2009)
ペア +15% 課題に要したコーディング時間 出典: The Costs and Benefits of Pair
Programming (Alistair Cockburn, 2009) ソロ
ソロ ペア +15% 出典: The Costs and Benefits of Pair
Programming (Alistair Cockburn, 2009) 2.3 倍 課題に要したコーディング時間
ソロ ペア +15% 出典: The Costs and Benefits of Pair
Programming (Alistair Cockburn, 2009) 課題に要したコーディング時間 レビュー レビュー対応 修正 手戻り 不具合対応
ペアプロで 増える 開発コスト 出典: The Costs and Benefits of Pair
Programming (Alistair Cockburn, 2009) ペアプロで 減らせる 修正コスト <
我々を 蝕んでいた 課題 プロブレム
第1位 ??? 第2位 ??? 第3位 新メンバーが キャッチアップしにくい ソロプロ ツラかったランキング
第1位 ??? 第2位 属人化 第3位 新メンバーが キャッチアップしにくい ソロプロ ツラかったランキング
第1位 ??? 第2位 属人化 第3位 新メンバーが キャッチアップしにくい ソロプロ ツラかったランキング
None
None
第1位 終わらない、レビュー。 レビュー依頼〜マージが2日以上
ペア/モブプロの 課題と対策
1. 始め方が 分からない
Slack で画面共有 • ハドルミーティング • ペンツールで指示しやすい • 自分のエディタ/キーボードを 使える
2. 迷走しがち
• 5〜10分程度 開始前に 方針を書き出す
3. 疲労コンパイルエラー
こまめに休憩 • 目安 ◦ 1時間ペアプロ ◦ → 10分休憩 • 割とすぐ慣れる
4. ずっと俺のターン
時間で区切る • タイマーを使う ◦ 15〜20分で交代 • キリが悪くても、tmp コミットを積んで交代
5. ドライバーが全部やってしまう
実況中継?
None
ドライバー? タイピスト
タイピスト ナビ 役割を守る
ペア/モブプロ 開発の成果
第1位 終わらない、レビュー。 第2位 属人化 第3位 新メンバーが キャッチアップしにくい ソロプロ ツラかったランキング
属人化が減った 新メンバーの キャッチアップが 早くなった
第1位 終わらない、レビュー。 第2位 属人化 第3位 新メンバーが キャッチアップしにくい ソロプロ ツラかったランキング
レビュー依頼〜マージが30分以内に!
実際の様子は?
LIVE モブプロ
題材 (https://bootcamp.fjord.jp/)
(https://bootcamp.fjord.jp/)
• 高速な フィードバックサイクル • 属人化の防止 ペア/モブプロ開発のメリット • 新メンバーの キャッチアップ速度向上
こまめに休憩 短時間で交代 ペア/モブプロ実践 TIPS 開始前に 方針を書き出す タイピスト/ナビ ナビが進行、 タイピストはナビの手
そして…
ペアプロは 楽しい
ご清聴ありがとうございました ほぼ全部ペアプロ開発