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
90
ペアプロってどうなの?
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
310
Gitはなぜ難しいのか
irohiroki
4
25k
Github APIを叩いて分かったこと
irohiroki
1
690
The Metric Talks or Not
irohiroki
2
950
Other Decks in Programming
See All in Programming
當開發遇上包裝:AI 如何讓產品從想法變成商品
clonn
0
2.7k
ワンバイナリWebサービスのススメ
mackee
10
7.5k
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate'"
philipschwarz
PRO
0
140
Javaのルールをねじ曲げろ!禁断の操作とその代償から学ぶメタプログラミング入門 / A Guide to Metaprogramming: Lessons from Forbidden Techniques and Their Price
nrslib
1
910
TVer iOSチームの共通認識の作り方 - Findy Job LT iOSアプリ開発の裏側 開発組織が向き合う課題とこれから
techtver
PRO
0
720
インターフェース設計のコツとツボ
togishima
2
500
イベントストーミングから始めるドメイン駆動設計
jgeem
3
530
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
0
120
OpenNext + Hono on Cloudflare でイマドキWeb開発スタックを実現する
rokuosan
0
110
Passkeys for Java Developers
ynojima
1
500
抽象データ型について学んだ
ryounasso
0
210
CQRS/ESのクラスとシステムフロー ~ RailsでフルスクラッチでCQRSESを組んで みたことから得た学び~
suzukimar
0
200
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
How to Ace a Technical Interview
jacobian
276
23k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Docker and Python
trallard
44
3.4k
Designing for Performance
lara
608
69k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Adopting Sorbet at Scale
ufuk
76
9.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.8k
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 ·ͱΊ フロー効率
精神的負担の軽減 トラックナンバー増加 → 安定した業務の進行 スキル差 → 双方の学び 敬意 時間と場所の拘束