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
3.9k
ペアプロしようぜ 〜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.5k
今度こそ理解する/git-reset-200822
masuyama13
0
2k
Ruby クラスは「製造機」/fjordbootcamp-200627
masuyama13
2
1.5k
Other Decks in Programming
See All in Programming
htmxって知っていますか?次世代のHTML
hiro_ghap1
0
410
為你自己學 Python
eddie
0
510
バグを見つけた?それAppleに直してもらおう!
uetyo
0
220
非ブラウザランタイムとWeb標準 / Non-Browser Runtimes and Web Standards
petamoriken
0
420
return文におけるstd::moveについて
onihusube
1
1.4k
Simple組み合わせ村から大都会Railsにやってきた俺は / Coming to Rails from the Simple
moznion
2
1.7k
コンテナをたくさん詰め込んだシステムとランタイムの変化
makihiro
1
190
EC2からECSへ 念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築
sumiyae
3
570
watsonx.ai Dojo #6 継続的なAIアプリ開発と展開
oniak3ibm
PRO
0
150
Beyond ORM
77web
11
1.5k
ATDDで素早く安定した デリバリを実現しよう!
tonnsama
1
1.5k
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
290
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
For a Future-Friendly Web
brad_frost
176
9.5k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
The Cult of Friendly URLs
andyhume
78
6.1k
Code Reviewing Like a Champion
maltzj
521
39k
4 Signs Your Business is Dying
shpigford
182
22k
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 開始前に 方針を書き出す タイピスト/ナビ ナビが進行、 タイピストはナビの手
そして…
ペアプロは 楽しい
ご清聴ありがとうございました ほぼ全部ペアプロ開発