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.7k
ペアプロしようぜ 〜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.4k
今度こそ理解する/git-reset-200822
masuyama13
0
2k
Ruby クラスは「製造機」/fjordbootcamp-200627
masuyama13
2
1.5k
Other Decks in Programming
See All in Programming
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
1.2k
Quine, Polyglot, 良いコード
qnighy
4
640
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
150
Macとオーディオ再生 2024/11/02
yusukeito
0
360
Why Jakarta EE Matters to Spring - and Vice Versa
ivargrimstad
0
900
Jakarta Concurrencyによる並行処理プログラミングの始め方 (JJUG CCC 2024 Fall)
tnagao7
1
280
Tuning GraphQL on Rails
pyama86
2
1.2k
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
5
2k
Identifying User Idenity
moro
6
9.9k
Duckdb-Wasmでローカルダッシュボードを作ってみた
nkforwork
0
110
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
320
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.3k
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
A better future with KSS
kneath
238
17k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
A Tale of Four Properties
chriscoyier
156
23k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
710
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
RailsConf 2023
tenderlove
29
900
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 開始前に 方針を書き出す タイピスト/ナビ ナビが進行、 タイピストはナビの手
そして…
ペアプロは 楽しい
ご清聴ありがとうございました ほぼ全部ペアプロ開発