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
Hiroki Yoshioka
February 01, 2019
Programming
0
79
ペアプロってどうなの?
Pull Requestでしか開発したことがない人向けの、ペアプロの良し悪しが分かる資料。
Hiroki Yoshioka
February 01, 2019
Tweet
Share
More Decks by Hiroki Yoshioka
See All by Hiroki Yoshioka
RubyとPythonはどちらが速いのか
irohiroki
0
150
スクラムマスターは何をすべきか
irohiroki
1
580
高階関数みたいな鳥たちの森
irohiroki
0
110
Pattern Language for Rubyists (Rev.2)
irohiroki
1
300
The Most Beautiful Vagrant Box
irohiroki
1
190
ドメイン駆動設計ワークショップ in KRAY
irohiroki
1
280
Gitはなぜ難しいのか
irohiroki
4
25k
Github APIを叩いて分かったこと
irohiroki
1
670
The Metric Talks or Not
irohiroki
2
780
Other Decks in Programming
See All in Programming
AmperとFleetを使ったAndroidアプリ
yoppie
0
240
Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting
unvalley
5
1.1k
VS Code をプロダクトにどう取り込むか
onomax
1
530
Next.js App Router
quramy
7
670
新宿ダンジョンを可視化してみた
satoshi7190
2
270
AppRouter Panel Talk
yosuke_furukawa
PRO
1
220
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
960
try! Swift Tokyo 初参加報告LT
hinakko2
0
230
Introducing Kotlin Multiplatform in an existing mobile app - Workshop Edition | AndroidMakers Paris
prof18
0
130
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
27
8.4k
Hanami and htmx
bkuhlmann
0
210
CA.swift19 恋するAIアプリ開発の裏側
oskmr
0
370
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
The Mythical Team-Month
searls
216
42k
Product Roadmaps are Hard
iamctodd
45
9.7k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
Designing for Performance
lara
602
67k
How to train your dragon (web standard)
notwaldorf
74
5.2k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
Six Lessons from altMBA
skipperchong
22
3k
Fireside Chat
paigeccino
22
2.6k
Designing the Hi-DPI Web
ddemaree
276
33k
How to Ace a Technical Interview
jacobian
273
22k
Visualization
eitanlees
137
14k
Transcript
Copyright Drecom Co., Ltd. All Rights Reserved. !1 ϖΞϓϩͬͯͲ͏ͳͷʁ 吉岡ひろき(@irohiroki)
2019-02-01
Copyright Drecom Co., Ltd. All Rights Reserved. Pull Requestの欠点 コンテキスト伝達のコスト
ཁ݅ɾ༷ ղܾํ๏ ͳͥ͜͏ͳ͍ͬͯΔͷ͔ レビューコメントを書くコスト ཧ༝ ସҊ ૬खͷྀ レビュー待ち ϚϧνλεΫʹΑΔޮԼ ϦʔυλΠϜͷѱԽ !2 എܠ
Copyright Drecom Co., Ltd. All Rights Reserved. 2人で 1つの画面を見ながら 1人がドライバー(コードを書く/コマンドを実行する)
1人がナビゲーター(レビュー/作業の順番を考える) 状況に応じて交代 Pull Requestは簡略に !3 ϖΞϓϩ
Copyright Drecom Co., Ltd. All Rights Reserved. 即時コードレビュー/ダブルチェック ϛεͷൃݟ͕ૣ͍ˠखΓ͕গͳ͍ トラックナンバー
+1 ยํ͕ٳΜͰӨڹ͕খ͍͞ フロー効率 ݸʑͷࣄ͕ૣ͘ऴΔ !4 ͳͥ̎ਓͰʁ
Copyright Drecom Co., Ltd. All Rights Reserved. 平行して2つの仕事 ペアで1つずつ !5
ϑϩʔޮ έϯτ Υʔυ έϯτ Υʔυ Ըܙ Ըܙ Ըܙ Ըܙ
Copyright Drecom Co., Ltd. All Rights Reserved. ミスを笑える ͪΐͬͱͨ͠ϛε͕͋ͬͨͱ͖স͑ΔɻετϨε͕ܰݮɻ 心理的負担の軽減
̎ਓͰ୲ 決定の迅速化 ઃܭωʔϛϯάɻ̎ਓ͕߹ҙͰ͖ΕຆͲͷ߹ʹͳ͍ 知識とテクニックの伝搬 Βͳ͔ͬͨϝιουɺγϣʔτΧοτɺΦϓγϣϯʜ 集中できる ૬खΛͨͤͳ͍Α͏ʹ !6 ͦͷଞͷϝϦοτ
Copyright Drecom Co., Ltd. All Rights Reserved. 2人でやっても半分の時間にならないだろ? → なる。
諸々の決断が速い 手戻りが少ない Pull Requestを作るのが楽 レビュアーが背景を理解する時間がいらない/ 開発の過程を再現する時間がいらない コメントを書く時間がいらない !7 ϖΞϓϩ'"2
Copyright Drecom Co., Ltd. All Rights Reserved. Pull Requestは作るの? →
文化による。 「GitHubで見たい」派 レビュアーのための作文は不要 コミットメッセージの方が重要 !8 ϖΞϓϩ'"2
Copyright Drecom Co., Ltd. All Rights Reserved. 状況に応じて。 実装のアイデアがある 仕様に詳しい
先行して着手してた など !9 υϥΠόʔͷܾΊํ
Copyright Drecom Co., Ltd. All Rights Reserved. テストコード/プロダクトコード 1JOH1POH1BJSJOH ナビゲーターにアイデアが閃いたとき
セッション(約1時間)毎 など FAQ - マシン/キーボードは換える? Ping-Pong → 換えない セッション → 換える !10 υϥΠόʔަͷλΠϛϯά
Copyright Drecom Co., Ltd. All Rights Reserved. 1. 朝会でタスクを洗い出し・共有 2.
ペアでやるタスク/担当者/時間帯を打ち合わせ !11 ϖΞͷεέδϡʔϦϯά
Copyright Drecom Co., Ltd. All Rights Reserved. !12 εΩϧࠩ スキル差が大きい
ॳֶऀଟ͘ͷࣝΛಘΒΕΔ ϕςϥϯࢦಋํ๏ΛֶͿ ͲͪΒ͕υϥΠόʔͰΑ͍ スキル差が小さい ಘҙͷҧ͍͕ڞΛੜΉ ͲͪΒ͕υϥΠόʔͰΑ͍ ͓͢͢Ίͷهࣄ ࣝࠩ−εΩϧࠩΛຒΊΔͨΊͷϖΞϓϩʴαͷίπ
Copyright Drecom Co., Ltd. All Rights Reserved. !13 ϖΞͷίπ 敬意
૬ख͕୭Ͱɺઌഐͩͱࢥͬͯ 話すタイミング υϥΠόʔ͕λΠϐϯάΛऴ͔͑ͯΒ 調査は別々に ΤϥʔͷݪҼɺϥΠϒϥϦͷ͍ํͳͲ ผʑʹࣗͷϚγϯͰௐͨํ͕ޮత
Copyright Drecom Co., Ltd. All Rights Reserved. !14 όϦΤʔγϣϯ ペアレビュー
ιϩͰ࣮ˠϨϏϡΞʔ͕ՃΘͬͯϨϏϡʔ ର໘ͰίϛϡχέʔγϣϯίετΛݮ ࣮ऀˠϨϏϡΞʔɿίϯςΩετͷୡ ϨϏϡΞʔˠ࣮ऀɿϑΟʔυόοΫ ペアプロ → ソロ → ペアレビュー → ペアプロ ̍ਓ్͕தͰൈ͚ͨͱ͖
Copyright Drecom Co., Ltd. All Rights Reserved. !15 ମݧऀͷ 3,͞Μ
ʮϖΞͰ͓ئ͍͍ͨ͠Ͱ͢ʯ ʢ؆୯ͳ࡞ۀ͔Βຊ֨తͳ࣮ʹҠΔͱ͖ʣ ),͞Μ ʮϖΞͩͱ҆৺Ͱ͢ʯ ʢࠓ·Ͱͱҧ͏छྨͷλεΫΛ୲ͨ͠ͱ͖ʣ
Copyright Drecom Co., Ltd. All Rights Reserved. !16 σϝϦοτ 時間と場所の拘束
Ұॹʹ͍ͳ͍ͱͰ͖ͳ͍ 相手のマシンが使いにくい ΤσΟλʗγϣʔτΧοτͷҧ͍ͳͲ Α͘͏γϣʔτΧοτ߹ΘͤΑ͏ 疲れる ̍࣌ؒͰٳܜΛɻͦ͏͠ͳ͍ͱ̍ଓ͔ͳ͍
Copyright Drecom Co., Ltd. All Rights Reserved. !17 ϖΞ͕͔ͳ͍λεΫ ルーチンワーク
レビューのいらない仕事 概要設計など ௐࠪʗઃܭʗυΩϡϝϯςʔγϣϯ
Copyright Drecom Co., Ltd. All Rights Reserved. !18 ·ͱΊ フロー効率
精神的負担の軽減 トラックナンバー増加 → 安定した業務の進行 スキル差 → 双方の学び 敬意 時間と場所の拘束