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
89
ペアプロってどうなの?
Pull Requestでしか開発したことがない人向けの、ペアプロの良し悪しが分かる資料。
Hiroki Yoshioka
February 01, 2019
Tweet
Share
More Decks by Hiroki Yoshioka
See All by Hiroki Yoshioka
RubyとPythonはどちらが速いのか
irohiroki
0
160
スクラムマスターは何をすべきか
irohiroki
1
620
高階関数みたいな鳥たちの森
irohiroki
0
130
Pattern Language for Rubyists (Rev.2)
irohiroki
1
340
The Most Beautiful Vagrant Box
irohiroki
1
220
ドメイン駆動設計ワークショップ in KRAY
irohiroki
1
300
Gitはなぜ難しいのか
irohiroki
4
25k
Github APIを叩いて分かったこと
irohiroki
1
690
The Metric Talks or Not
irohiroki
2
940
Other Decks in Programming
See All in Programming
プロダクトエンジニアのしごと 〜 受託 × 高難度を乗り越えるOptium開発 〜
algoartis
0
230
今話題のMCPサーバーをFastAPIでサッと作ってみた
yuukis
0
130
MySQL初心者が311個のカラムにNot NULL制約を追加していってALTER TABLEについて学んだ話
hatsu38
2
140
Browser and UI #2 HTML/ARIA
ken7253
2
180
VitestのIn-Source Testingが便利
taro28
9
2.5k
Ruby で作る RISC-V CPU エミュレーター / RISC-V CPU emulator made with Ruby
hayaokimura
5
1.1k
AIコーディングの本質は“コード“ではなく“構造“だった / The essence of AI coding is not “code” but "structure
seike460
PRO
2
450
Lambda(Python)の リファクタリングが好きなんです
komakichi
5
270
“技術カンファレンスで何か変わる?” ──RubyKaigi後の自分とチームを振り返る
ssagara00
0
120
Instrumentsを使用した アプリのパフォーマンス向上方法
hinakko
0
250
最速Green Tea 🍵 Garbage Collector
kuro_kurorrr
1
130
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
910
Featured
See All Featured
Optimizing for Happiness
mojombo
378
70k
Facilitating Awesome Meetings
lara
54
6.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
The Language of Interfaces
destraynor
158
25k
Unsuck your backbone
ammeep
671
58k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.8k
It's Worth the Effort
3n
184
28k
Typedesign – Prime Four
hannesfritz
41
2.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Git: the NoSQL Database
bkeepers
PRO
430
65k
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 ·ͱΊ フロー効率
精神的負担の軽減 トラックナンバー増加 → 安定した業務の進行 スキル差 → 双方の学び 敬意 時間と場所の拘束