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
ペアプログラミングの5W1HとFAQ / 5W1H and FAQ of Pair Progr...
Search
Takuto Wada
PRO
March 18, 2017
Programming
45
21k
ペアプログラミングの5W1HとFAQ / 5W1H and FAQ of Pair Programming
at Productivity Engineering − Forkwell Meetup #4
Takuto Wada
PRO
March 18, 2017
Tweet
Share
More Decks by Takuto Wada
See All by Takuto Wada
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
27
7.3k
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
1.5k
組織に自動テストを書く文化を根付かせる戦略(2024秋版) / Building Automated Test Culture 2024 Autumn Edition
twada
PRO
15
6k
これまでと違う学び方をしたら挫折せずにRustを学べた話 / Programming Rust techramen24conf LT
twada
PRO
26
23k
開発生産性の観点から考える自動テスト(2024/06版) / Automated Test Knowledge from Savanna 202406 Findy dev-prod-con edition
twada
PRO
33
23k
自動テスト実行結果の目的を整理する / Organizing objectives of automated test results
twada
PRO
14
3.2k
変更容易性と理解容易性を支える自動テスト(2024/02版) / Automated Test Knowledge from Savanna 202402 YAPC::Hiroshima edition
twada
PRO
22
13k
実録レガシーコード改善 / Working with Legacy Code: the True Record
twada
PRO
103
47k
Property-based Testing の位置付け / Intro to Property-based Testing
twada
PRO
11
6.4k
Other Decks in Programming
See All in Programming
functionalなアプローチで動的要素を排除する
ryopeko
1
190
Rubyでつくるパケットキャプチャツール
ydah
0
160
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
240
Androidアプリの One Experience リリース
nein37
0
1.1k
return文におけるstd::moveについて
onihusube
1
1.4k
ドメインイベント増えすぎ問題
h0r15h0
2
560
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
940
毎日13時間もかかるバッチ処理をたった3日で60%短縮するためにやったこと
sho_ssk_
1
540
はてなにおけるfujiwara-wareの活用やecspressoのCI/CD構成 / Fujiwara Tech Conference 2025
cohalz
2
2.6k
いりゃあせ、PHPカンファレンス名古屋2025 / Welcome to PHP Conference Nagoya 2025
ttskch
1
160
Lookerは可視化だけじゃない。UIコンポーネントもあるんだ!
ymd65536
1
130
盆栽転じて家具となる / Bonsai and Furnitures
aereal
0
1.8k
Featured
See All Featured
The Language of Interfaces
destraynor
155
24k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.1k
Site-Speed That Sticks
csswizardry
2
250
A better future with KSS
kneath
238
17k
Measuring & Analyzing Core Web Vitals
bluesmoon
5
210
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
Gamification - CAS2011
davidbonilla
80
5.1k
Docker and Python
trallard
43
3.2k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
960
Transcript
ϖΞϓϩάϥϛϯάͷ 8)ͱ'"2 ాਓ !U@XBEB .BS !'PSLXFMM.FFUVQ
ాਓ JEUXBEB !U@XBEB HJUIVCUXBEB
ひとり歩きするスタンド ελϯυ໊ϫΠϧυɾαόϯφ
“流しのペアプロ業”
Agenda 8) '"2 ͓ΘΓʹ
8IBU
ϖΞϓϩͨ͜͠ ͱ͕͋Δਓձ ʹԿਓ͍·͔͢ʁ
υϥΠόʔ φϏήʔλʔ 2人で1つのマシン、1つのキーボード
)PX
࡞ۀΛܾΊΔ ࠷ॳͷඪΛܾΊΔ ύʔτφʔΛཔΓʹ͠ɺࢧ͑ͯΔ Δ ͓ޓ͍ԿΛ͍ͬͯΔ͔Ѳ͢Δ تͿ ަ͢Δ ペアプログラミングのやりかた IUUQXXXIZVLJDPNZVLJXJLJXJLJDHJ "%""""%"&%"#"&"%'"'"#"$&"&"&"""#"#'
大きいディスプレイ(指差し重要) ドライバーの前にキーボード
Thinking out loud: 考えを声に出す
8IFO 8IFSF 8IP
やりすぎ危険 IUUQTUXJUUFSDPNNJ[DIJTUBUVT
wνʔϜʹ৽ϝϯόʔ͕ೖ͖ͬͯͨ ͱ͖ wෆ۩߹मਖ਼ w৽ػೳ࡞ wPSिʹҰճܾ·ͬͨ࣌ؒʹ いつ、だれとやるか
新規/既存 × 短時間/長時間 IUUQJUQSPOJLLFJCQDPKQBSUJDMF$0-6./
8IZ
ՔಇΑΓ εϧʔϓοτ
lλεΫྃͤͯ͞Ϣʔβʔʹಧ͍ͯͦ͜Ձ͕͋Δ ͷͰɺਓͰฒߦͯ͠࡞ۀֻ͠ΓΛ૿͢ΑΓɺ ͭͣͭͷλεΫΛ࣮֬ʹྃͤͯ͞εϧʔϓοτΛ্͛ ͍͖ͯ͘Ͱ͢ɻ ͜ͷͨΊʹɺͻͱ·ͱ·ΓͷίʔυΛॻ͖ऴ͔͑ͯΒ ίʔυϨϏϡʔʹਐΉͷͰͳ͘ɺॻ͔ΕͨίʔυΛ ย͔ͬΒίʔυϨϏϡʔ͍ͯ͘͜͠ͱͰɺίʔυϨ ϏϡʔͰͷίϛϡχέʔγϣϯίετखΓΛݮΒ͢ ͨΊͷϓϥΫςΟε͕ϖΞϓϩͩɺͱ͍͏͜ͱͰ͢z ٕज़ϑΣϩʔ໊͕ݹΛྲྀ͍ͯͨ͠ͷͰϖΞϓϩͷख΄Ͳ͖Λड͚ͨΒḿͬͨ
IUUQUFDINJTPDBKQFOUSZ
lϖΞϓϩͷྑ͞ͷ̍ͭɺϑΟʔυόο ΫͷλΠϛϯά͕ΊͬͪΌΊͪΌ͍ ʹ͋Γ·͢ɻ8*1ϓϧϦΫͷϑΟʔυόο ΫΑΓѹతʹ͍Ͱ͢ɻ ରΛ͢Δ͜ͱͰɺઃܭҊʹ͕ܽؕ͋Δ ͜ͱΛૣظൃݟͯ͠Ϝμͳ࣌ؒΛա͢͝ ͜ͱΛ͗ɺେͳϨϏϡʔίϝϯτͷ ཛྷͰ్ํʹΕͯ͘Εͯ͠·͏͜ͱΛආ͚ Δ͜ͱ͕Ͱ͖·͢z $PPMͳιϩͱ)PUͳϖΞϓϩͷ͍͋ͩ
IUUQTUXPQBHJMFFTNDPKQMFUTDIPPTFQSPHSBNNJOHTUZMFJOZPVSDPOUFYUCCBD
lίʔυϨϏϡʔͷΛղܾ͢Δํ ๏ͷ̍ͭϖΞϓϩάϥϛϯάͩͱࢥ͍ ·͢ɻ ෆࢥٞͳͷͰɺॻ͖ऴ͑ͨίʔυͷࢦ ఠΛ͞Εमਖ਼͢Δ͜ͱؾ͕Α͘ͳ͍ ͷͰ͕͢ɺॻ͖ऴ͑Δલʹࢦఠ͞ΕΑΓ ྑ͍ίʔυͱ͍ͯ͘͠ͳΒΉ͠Ζؾ ͕ྑ͍ͷͰ͢z ίʔυϨϏϡʔ IUUQEIBUFOBOFKQTIVKJ@XF
εΩϧतʹ ϖΞϓϩ͕࠷͔ͩΒ
None
None
None
lʮίʔυΛॻ͘ॠؒͷࢥߟʯ ʹΞυόΠεΛ͑Δ͔Βz lଞͷํ๏ͰସͰ͖ͳ͍͔Βz スキル伝授にペアプロが最速なのは何故か IUUQBUHSBOEQBIBUFOBCMPHKQFOUSZ
Agenda 8) '"2 ͓ΘΓʹ
lίετ͕ഒʹͳΔ ͷͰ z
ࢥ͍ग़ͦ͏ lՔಇΑΓ εϧʔϓοτz
lϖΞϓϩάϥϛϯάΛ͢ΔՁɺ࠷ॳͷॴͰΤ ϥʔ͕ى͖ΔͷΛ͙ͱͯখ͞ͳيಓमਖ਼ͱ͍͏ܗ Ͱ͖ͬͯ·͢ɻيಓमਖ਼খ͞ͳൣғͰߦΘΕɺϖΞ Ͱߦ͏࡞ۀͷྲྀΕͷதͰڥͳ͘ى͜ΔͷͰɺ௨ৗ·ͬ ͨ͘ؾ͔Ε·ͤΜz lͭ·ΓɺϖΞϓϩάϥϛϯάͷՁɺকདྷͷ͕࣌ؒ ল͔ΕͨܗͰͬͯ͘Δɻ݁ہɺ࣌ۚͳΓͩz ϖΞϓϩάϥϛϯάͷυϧͷՁ IUUQTXXXJOGPRDPNKQOFXTEPMMBSWBMVFPGQBJSQSPHSBNNJOH
l։ൃڥ͕όϥό ϥͳΜ͚ͩͲz
本来のペアプロとしては IUUQTUXJUUFSDPNLBLVUBOJTUBUVT
でもこだわらず、好みの環境でやろう 2つキーボードがあっていい
lشൃੑ͕ߴ͍z
l࣮ࡍʹϖΞϓϩΛऴ͑ͯײͨ͜͡ͱͷதʹɺ ϖΞϓϩͰֶΜͩ͜ͱΛڞ༗ͮ͠Β͍ ϖΞϓϩͰֶΜͩ͜ͱΛهͮ͠Β͍ ͱ͍͏ͷ͕͋Γ·ͨ͠ɻͦͷͦͷͰٞΛه ͢Δ͜ͱ͍͠Ͱ͢ɻϝϞΛऔΔͳͲͷํ๏͋Γ· ͕͢ɺ࣮ࡍʹϖΞϓϩΛߦͬͯΈΔͱɺͦΜͳ༨༟ ͳ͍͜ͱ͕Θ͔Γ·ͨ͠ɻ·ͨɺ࣌ͷίϛοτϩά मਖ਼ͨ͠ίʔυΛݟͯɺ࣌ͷٞͳ͔ͳ͔Θ ͔Γ·ͤΜɻ݁Ռ͔͍ͬͯ͠ͳ͍ͷͰ͢z IUUQBUHSBOEQBIBUFOBCMPHKQFOUSZ
そこでモブプログラミングですよ IUUQNPCQSPHSBNNJOHPSHNPCQSPHSBNNJOHCBTJDT
l্ڃऀʹϝϦο τ͋Δͷ z
͖ͷ͜ਓΑΓਓ if ( 自分の知識 < 相手の知識 ) { 相手から多くのことを学べる }
else if ( 自分の知識 >= 相手の知識 ) { 教えることで知識が整理される } => 必ず両者がお互いから何かを学べる
教えることが最大の学び ベテランにはアンラーニングのチャンス
lϓϨογϟʔ͕ڧ ͍͔Βۤखz
心理的安全性が一番大事
個人を尊重する IUUQTUXJUUFSDPNU@XBEBTUBUVT
lʮ͜͜Զ͕ॻ͍ ͨʯײ͕΄͍͠z
$PMMFDUJWFDPEFPXOFSTIJQ ίʔυͷڞಉॴ༗ ͷผͷଆ໘
ソロの時間を作る IUUQJUQSPOJLLFJCQDPKQBSUJDMF$0-6./
ソロプロ欲はOSS活動に向ける手も
Agenda 8) '"2 ͓ΘΓʹ
lϖΞϓϩάϥϛϯάʹڧߗʹର͢Δ ։ൃऀͷڻ͘΄Ͳͷଟ͘ɺ࣮ࡍʹࢼ Έͨ͜ͱ͕ແ͘ɺҰ୴ࢼͤଈ࠲ʹؾʹ ೖͬͯʹண͚ͯ͠·͏z ʰᆠߺΑΓ4DSVNͱ91ʱΑΓ 食わず嫌いは勿体ない IUUQTXXXJOGPRDPNKQNJOJCPPLTTDSVNYQGSPNUIFUSFODIFT
事実、ペアプロは楽しい。 ご清聴ありがとうございました