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
22k
ペアプログラミングの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
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
36
11k
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
138
54k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
105
83k
The Clean ArchitectureがWebフロントエンドでしっくりこないのは何故か / Why The Clean Architecture does not fit with Web Frontend
twada
PRO
81
32k
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
36
12k
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
2.3k
組織に自動テストを書く文化を根付かせる戦略(2024秋版) / Building Automated Test Culture 2024 Autumn Edition
twada
PRO
14
6.9k
これまでと違う学び方をしたら挫折せずにRustを学べた話 / Programming Rust techramen24conf LT
twada
PRO
33
28k
開発生産性の観点から考える自動テスト(2024/06版) / Automated Test Knowledge from Savanna 202406 Findy dev-prod-con edition
twada
PRO
37
34k
Other Decks in Programming
See All in Programming
What's new in Adaptive Android development
fornewid
0
130
Advanced Micro Frontends: Multi Version/ Framework Scenarios
manfredsteyer
PRO
0
150
リッチエディターを安全に開発・運用するために
unachang113
1
350
DynamoDBは怖くない!〜テーブル設計の勘所とテスト戦略〜
hyamazaki
0
180
Go製CLIツールをnpmで配布するには
syumai
2
1.1k
構文解析器入門
ydah
7
2k
Terraform やるなら公式スタイルガイドを読もう 〜重要項目 10選〜
hiyanger
11
2.8k
Quality Gates in the Age of Agentic Coding
helmedeiros
PRO
1
120
階層化自動テストで開発に機動力を
ickx
1
470
#QiitaBash TDDで(自分の)開発がどう変わったか
ryosukedtomita
1
350
ZeroETLで始めるDynamoDBとS3の連携
afooooil
0
150
Claude Code と OpenAI o3 で メタデータ情報を作る
laket
0
110
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Done Done
chrislema
185
16k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Practical Orchestrator
shlominoach
190
11k
GitHub's CSS Performance
jonrohan
1031
460k
Being A Developer After 40
akosma
90
590k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.4k
Docker and Python
trallard
45
3.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
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
事実、ペアプロは楽しい。 ご清聴ありがとうございました