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
17
4.7k
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
1.5k
組織に自動テストを書く文化を根付かせる戦略(2024秋版) / Building Automated Test Culture 2024 Autumn Edition
twada
PRO
14
5.8k
これまでと違う学び方をしたら挫折せずにRustを学べた話 / Programming Rust techramen24conf LT
twada
PRO
26
21k
開発生産性の観点から考える自動テスト(2024/06版) / Automated Test Knowledge from Savanna 202406 Findy dev-prod-con edition
twada
PRO
32
22k
自動テスト実行結果の目的を整理する / Organizing objectives of automated test results
twada
PRO
14
3.1k
変更容易性と理解容易性を支える自動テスト(2024/02版) / Automated Test Knowledge from Savanna 202402 YAPC::Hiroshima edition
twada
PRO
22
13k
実録レガシーコード改善 / Working with Legacy Code: the True Record
twada
PRO
99
42k
Property-based Testing の位置付け / Intro to Property-based Testing
twada
PRO
11
6.3k
Other Decks in Programming
See All in Programming
Security_for_introducing_eBPF
kentatada
0
110
nekko cloudにおけるProxmox VE利用事例
irumaru
3
440
menu基盤チームによるGoogle Cloudの活用事例~Application Integration, Cloud Tasks編~
yoshifumi_ishikura
0
110
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
110
useSyncExternalStoreを使いまくる
ssssota
6
1.2k
ブラウザ単体でmp4書き出すまで - muddy-web - 2024-12
yue4u
3
480
創造的活動から切り拓く新たなキャリア 好きから始めてみる夜勤オペレーターからSREへの転身
yjszk
1
130
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
120
SymfonyCon Vienna 2025: Twig, still relevant in 2025?
fabpot
3
1.2k
Mermaid x AST x 生成AI = コードとドキュメントの完全同期への道
shibuyamizuho
0
160
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
280
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
270
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Gamification - CAS2011
davidbonilla
80
5.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Navigating Team Friction
lara
183
15k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Music & Morning Musume
bryan
46
6.2k
The Invisible Side of Design
smashingmag
298
50k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
The Language of Interfaces
destraynor
154
24k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
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
事実、ペアプロは楽しい。 ご清聴ありがとうございました