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
11
1.7k
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
99
37k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
102
77k
The Clean ArchitectureがWebフロントエンドでしっくりこないのは何故か / Why The Clean Architecture does not fit with Web Frontend
twada
PRO
79
31k
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
35
11k
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
2.3k
組織に自動テストを書く文化を根付かせる戦略(2024秋版) / Building Automated Test Culture 2024 Autumn Edition
twada
PRO
14
6.8k
これまでと違う学び方をしたら挫折せずにRustを学べた話 / Programming Rust techramen24conf LT
twada
PRO
33
28k
開発生産性の観点から考える自動テスト(2024/06版) / Automated Test Knowledge from Savanna 202406 Findy dev-prod-con edition
twada
PRO
36
33k
Other Decks in Programming
See All in Programming
Python型ヒント完全ガイド 初心者でも分かる、現代的で実践的な使い方
mickey_kubo
1
240
AI駆動のマルチエージェントによる業務フロー自動化の設計と実践
h_okkah
0
230
AI Agent 時代のソフトウェア開発を支える AWS Cloud Development Kit (CDK)
konokenj
6
800
Agentic Coding: The Future of Software Development with Agents
mitsuhiko
0
130
商品比較サービス「マイベスト」における パーソナライズレコメンドの第一歩
ucchiii43
0
180
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
1.1k
Deep Dive into ~/.claude/projects
hiragram
14
14k
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
200
テスト駆動Kaggle
isax1015
1
620
AIともっと楽するE2Eテスト
myohei
8
3k
Goで作る、開発・CI環境
sin392
0
260
顧客の画像データをテラバイト単位で配信する 画像サーバを WebP にした際に起こった課題と その対応策 ~継続的な取り組みを添えて~
takutakahashi
4
1.3k
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.6k
How to Think Like a Performance Engineer
csswizardry
25
1.7k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Docker and Python
trallard
45
3.5k
Writing Fast Ruby
sferik
628
62k
Raft: Consensus for Rubyists
vanstee
140
7k
Gamification - CAS2011
davidbonilla
81
5.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Designing for humans not robots
tammielis
253
25k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
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
事実、ペアプロは楽しい。 ご清聴ありがとうございました