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
13
3.6k
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
1.4k
組織に自動テストを書く文化を根付かせる戦略(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
競技プログラミングへのお誘い@阪大BOOSTセミナー
kotamanegi
0
360
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
270
ソフトウェアの振る舞いに着目し 複雑な要件の開発に立ち向かう
rickyban
0
890
今年一番支援させていただいたのは認証系サービスでした
satoshi256kbyte
1
250
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
710
「Chatwork」Android版アプリを 支える単体テストの現在
okuzawats
0
180
[JAWS-UG横浜 #76] イケてるアップデートを宇宙いち早く紹介するよ!
maroon1st
0
460
StarlingMonkeyを触ってみた話 - 2024冬
syumai
3
270
Keeping it Ruby: Why Your Product Needs a Ruby SDK - RubyWorld 2024
envek
0
180
採用事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること
oekazuma
2
1k
モバイルアプリにおける自動テストの導入戦略
ostk0069
0
110
CSC305 Lecture 25
javiergs
PRO
0
130
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Embracing the Ebb and Flow
colly
84
4.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
440
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
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
事実、ペアプロは楽しい。 ご清聴ありがとうございました