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
モブプログラミングという働き方 #DevLOVE
Search
TAKAKING22
June 18, 2017
Technology
47
160k
モブプログラミングという働き方 #DevLOVE
2017年6月18日(日)DevLOVE 200 Bridgeにて。
TAKAKING22
June 18, 2017
Tweet
Share
More Decks by TAKAKING22
See All by TAKAKING22
AI時代だからこそ考える、僕らが本当につくりたいスクラムチーム / A Scrum Team we really want to create in this AI era
takaking22
6
3.6k
スクラムガイドに載っていないスクラムのはじめかた - チームでスクラムをはじめるときに知っておきたい勘所を集めてみました! - / How to start Scrum that is not written in the Scrum Guide 2nd
takaking22
5
1.3k
スクラムというコンフォートゾーンから抜け出そう!プロジェクト全体に目を向けるインセプションデッキ / Inception Deck for seeing the whole project
takaking22
5
1.3k
受託開発でもアジャイル開発できました / Agile in Contract Development
takaking22
19
8.2k
AI時代のアジャイル開発(XP祭り2024版) / Agile Development in the AI Era in XPJUG
takaking22
16
5.2k
我々はなぜテストを書くのか / Why we write test codes
takaking22
7
1.3k
AI時代のアジャイル開発 / Agile Development in the AI Era
takaking22
2
1.7k
スクラムガイドに載っていないスクラムのはじめかた - チームでスクラムをはじめるときに知っておきたい5個のコツ - / How to start Scrum that is not written in the Scrum Guide
takaking22
21
8.4k
よいチームをよい雰囲気を保ったままよい組織にスケールさせていくためにできること / What you can do to scale a good team into a good organization
takaking22
12
6.9k
Other Decks in Technology
See All in Technology
Modern_Data_Stack最新動向クイズ_買収_AI_激動の2025年_.pdf
sagara
0
220
Why React!?? Next.jsそしてReactを改めてイチから選ぶ
ypresto
10
4.5k
Goにおける 生成AIによるコード生成の ベンチマーク評価入門
daisuketakeda
2
110
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
5.4k
Findy Team+のSOC2取得までの道のり
rvirus0817
0
360
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
matsu0228
7
2.7k
E2Eテスト設計_自動化のリアル___Playwrightでの実践とMCPの試み__AIによるテスト観点作成_.pdf
findy_eventslides
1
460
Azure Well-Architected Framework入門
tomokusaba
1
320
Optuna DashboardにおけるPLaMo2連携機能の紹介 / PFN LLM セミナー
pfn
PRO
1
890
Adminaで実現するISMS/SOC2運用の効率化 〜 アカウント管理編 〜
shonansurvivors
2
160
【新卒研修資料】LLM・生成AI研修 / Large Language Model・Generative AI
brainpadpr
25
17k
社内報はAIにやらせよう / Let AI handle the company newsletter
saka2jp
5
610
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Documentation Writing (for coders)
carmenintech
75
5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Writing Fast Ruby
sferik
629
62k
How to Think Like a Performance Engineer
csswizardry
27
2k
RailsConf 2023
tenderlove
30
1.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
The World Runs on Bad Software
bkeepers
PRO
71
11k
Code Reviewing Like a Champion
maltzj
525
40k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Transcript
!5",",*/( Ϟϒϓϩάϥϛϯάͱ͍͏ಇ͖ํ ϞϒϓϩάϥϛϯάΛ௨ͯ͠ݟͨΞδϟΠϧͷਅ 2017/06/18 DevLOVE 200 Bridge Takao Oyobe (@TAKAKING22)
Rakuten, Inc.
!5",",*/( ݩؾ ࠓͷ͓࢈
!5",",*/( ҙࣄ߲ 0, ࣸਅࡱӨ0,Ͱ͢ γϟολʔԻʹ͝ҙΛ εϥΠυެ։ࡁͰ͢ ձࣾશମͷ͠·ͤΜ ࢲୡͷͰ͢ʢυϯʣ ڭՊॻͷ͠·ͤΜ ࢲୡͷͰ͢ʢυϯʣ
Ϟϒϓϩάϥϛϯά ۜͷؙͰ͋Γ·ͤΜ ແԻΧϝϥΞϓϦ͕͋Δͦ͏Ͱ͢
!5",",*/( ճ͓ΊͰͱ͏͍͟͝·͢
!5",",*/( ॳΊͯͷίϛϡχςΟࢀՃˍൃද%FW-07&Ͱͨ͠ IUUQTXXXTMJEFTIBSFOFUEBJQSFTFOUTEFWMPWFIBOHBSGMJHIUTOPXCBSSBHF
!5",",*/( !5",",*/( ٴ෦ܟ༤ ָఱגࣜձࣾΠϯΩϡϕʔγϣϯ։ൃ෦ Ұൠࣾஂ๏ਓΞδϟΠϧνʔϜΛࢧ͑ΔձΛࢧ͑Δձ ۭલઈޙͷΞδϟΠϧϞϯελʔ ઈౖ౭ͷے୲ ਪ͠ϝϯɿࢁຊ࠼
!5",",*/( ΤϯδχΞྺ ΞδϟΠϧྺ
!5",",*/( ࢲͷΞϓϩʔνํ๏ ΤϯδχΞͷཱͰ lϓϩμΫτͷޭͷͨΊz νʔϜͱҰॹʹվળ׆ಈΛͯ͠Ұॹʹ͢Δ CZ64"SNZ$PSQTPG&OHJOFFST IUUQTHPPHM38+QK
!5",",*/( Α͘Δ͜ͱ ✓ ;Γ͔͑Γ ✓ 4DSVN ✓ 91 ✓ %FW0QT
✓ ৫վળʢະདྷձٞʣ
!5",",*/( େͩͱࢥ͏͜ͱ 8IZ 8IBU )PX 4501 $0/5*/6& )PXͷલʹ 8IZͱ8IBUΛߟ͑Δ
ͷৎʹ߹Θͤͨ վળΛண࣮ʹ౿Ή ΊΔ͜ͱɾଓ͚Δ͜ͱ Λৗʹҙࣝ͢Δ νʔϜશһͰ νʔϜͷͨΊʹߟ͑ͯ νʔϜͷखʹΑͬͯਐΊΔ
!5",",*/( IUUQTTQFBLFSEFDLDPNUBLBLJOH IUUQTXXXTMJEFTIBSFOFU5BLBP0ZPCFQSFTFOUBUJPOT
!5",",*/( ෳͷݱͰ܁Γฦ͠࠶ݱ͖ͯͯ͠ ͜Ε͔ΒͨͿΜͰ͖ΔͰ͋Ζ͏ࣗ৴͋Δ ݱঢ়ΛΓɺ Λચ͍ग़͢ ༏ઌॱҐΛ͚ͭΔ ࣮ͭͣͭ֬ʹ ղܾΛ͢Δ νʔϜͷͱ Ϗδωεͷߩݙ
!5",",*/( ΤϯδχΞϦϯά νʔϜ Ϗδωε ϓϩμΫτ։ൃʹ͓͚Δཁૉ
!5",",*/( ΤϯδχΞϦϯά νʔϜ Ϗδωε ϓϩμΫτ։ൃʹ͓͚Δཁૉ ͜ͷ͋ͨΓ͔Βೖͬͯ
!5",",*/( ΤϯδχΞϦϯά νʔϜ Ϗδωε ϓϩμΫτ։ൃʹ͓͚Δཁૉ গ͍ͣͭ͛ͯ͘͠ Πϝʔδ
!5",",*/( ͕͔͔ͦͦ࣌ؒ͜͜Δ͠ɺ ຊͷಆ͍ͦͷઌʹ͋Δ 1IPUPCZ4QFODFS)BSSJT IUUQTHPPHMJ)C3O
!5",",*/( IUUQRJJUBDPN5",",*/(JUFNTFEGCFBCBE
!5",",*/( ࠓͷ͓ ΞδϟΠϧ։ൃΛ௨ͯ͡ ݱͷղܾͱ͖߹͍ଓ͚͖ͯͨࢲ͕ɺ Ϟϒϓϩάϥϛϯάͱ͍͏ಇ͖ํΛ ͡ΊͯΈͯಘΒΕֶͨͼؾ͖ͱɺ ͦͷதͰݟͨΞδϟΠϧͷਅʹ͍͓ͭͯ͠·͢ɻ
!5",",*/( Ϟϒϓϩάϥϛϯάͱ ✓ νʔϜશһ͕Օॴʹू·ͬͯɺ ͭͷը໘ɾͭͷ1$Ͱ࡞ۀΛߦ͏͜ͱ ✓ ࠒʹ)VOUFS͕ࣾऔΓΈ࢝Ίͨ ✓ "HJMFͰ8PPEZ;VJMM͕հͨ͠ ✓
݄ʹॳΊͯͷ.PC1SPHSBNNJOH $POGFSFODF͕։࠵͞Εͨ
!5",",*/( IUUQTXXXZPVUVCFDPNXBUDI WQ@QWTM4H&*
!5",",*/( )VOUFSࣾͷϞϒϓϩάϥϛϯά ✓ ͭͷ෦ॺʢਓʣ͕ಋೖΛ͍ͯ͠Δ ✓ ͭͷϞϒʹ͖ʙਓ͕ଟ͍ ✓ ৗʹϞϒϓϩάϥϛϯάΛ͍ͯ͠Δ ✓ Ϟϒͷग़ೖΓࣗ༝
✓ ߩݙͰ͖ͳ͔ͬͨΒྡͷϞϒʹҠಈͯ͠Α͍
!5",",*/( )VOUFSࣾͷ൴Βɺ ϓϥΫςΟεͱͯ͠Ͱͳ͘ ಇ͖ํͱͯ͠Ϟϒϓϩάϥϛϯά Λ͍ͬͯΔײ͡ )VOUFSࣾΛ๚ͨ͠ޱ͞Μᐌ͘
!5",",*/( ॳΊͯͷϞϒϓϩάϥϛϯά
!5",",*/( :ͬͨ͜ͱ ✓ (8୩ؒͷؒͰ͓ࢼ͠Ϟϒϓϩάϥϛϯά ✓ ̐ਓνʔϜ ✓ ৽نࣄۀ্ཱͪ͛ͷͨΊͷ10$ ✓
ٕज़ݕূΛ݉ͶͯϑΝʔετϓϩτλΠϓΛ࡞ ˎ10$1SPPG0G$PODFQUʢ֓೦࣮ূʣ
!5",",*/(
!5",",*/( σΟεϓϨΠ 1$
!5",",*/( υϥΠόʔ φϏήʔλʔ φϏήʔλʔ φϏήʔλʔ φϏήʔλʔ (6&45
!5",",*/( ϓϩςΠϯ ).#
!5",",*/( ఆΑΓ͏·͍ͬͨ͘ͷͰʜ ✓ ؒͯ͠࠷ऴʹϏδωεϝϯόʔ͚ʹ σϞΛ൸࿐ͨ͠ ✓ σϞ൸࿐·Ͱʹࣾʹ͍ΔఆϢʔβʔʹ ෳճϑΟʔυόοΫΛΒͬͯଈ࣌ө
!5",",*/( 8Θ͔ͬͨ͜ͱɾͰ͖ͨ͜ͱ ✓ ϋϚͬͨΓ͠ͳ͕Β࣮֬ͳखԠ͑ΛಘΒΕͨ ✓ ؒͰϑΟʔυόοΫϧʔϓΛճճͤΒΕͨ ✓ ఆϢʔβʔɾϏδωεϝϯόʔΛεϐʔυײͰ ڻ͔ͤΔ͜ͱ͕Ͱ͖ͨ Ϟϒϓϩάϥϛϯάୡײ͕͋ͬͯർΕΔ͚Ͳָ͍͠
!5",",*/( 5࣍ʹΔ͜ͱ ✓ ಇ͖ํͱͯ͠ͷϞϒϓϩάϥϛϯάΛଓ͚ͯΈΔ
!5",",*/( ࢲͨͪͷϞϒϓϩάϥϛϯά ʲܧଓதʳ
!5",",*/( ࢲͨͪͷϞϒϓϩάϥϛϯά ✓ ৗʹϞϒϓϩάϥϛϯά ✓ Ϟϒͷग़ೖΓࣗ༝ ✓ ϧʔϧࡉ͔ܾ͘ΊͣʹΓͳ͕Βม͍͑ͯ͘ ✓ ϦʔϯελʔτΞοϓ
✓ ։ൃӦۀͳΜͰϞϒͰߦ͏ ಇ͖ํͱͯ͠ͷϞϒϓϩάϥϛϯάΛऔΓೖΕΔ
!5",",*/( ݸਓͷ׆ಈ࣌ؒ લ;Γ͔͑ΓˍࠓΔ͜ͱ Ϟϒϓϩάϥϛϯά ன৯ Ϟϒϓϩάϥϛϯά Ϟϒ;Γ͔͑Γ ҰͷྲྀΕ
!5",",*/( ϞϒϓϩάϥϛϯάΛϲ݄ܦͬͨͷͰৼΓฦͬͯΈͨ
!5",",*/( ੜ࢈ੑɾεϐʔυ ৺ཧత҆શੑ ϓϩμΫτ։ൃ ϊϋɾεΩϧൖ
!5",",*/( ੜ࢈ੑɾεϐʔυ ৺ཧత҆શੑ ϓϩμΫτ։ൃ ϊϋɾεΩϧൖ
!5",",*/( ✓ ఆϢʔβʔɾϏδωεϝϯόʔʹ εϐʔυͰڻ͖Λ༩͑ΒΕͨ ✓ ٕज़తʹϋϚΔ͕࣌ؒ࠷খݶʹͳΔ ✓ ޙ͍ίϛϡχέʔγϣϯ͕ෆཁʹͳΔ ✓ ಇ͘͜ͱʹूதͰ͖Δ
ੜ࢈ੑɾ։ൃεϐʔυ
!5",",*/( ✓ ேྱ ✓ υΩϡϝϯτ ✓ ϨϏϡʔ ✓ (JU'MPX ✓
Χϯόϯ ✓ εϓϦϯτϓϥϯχϯά ✓ εϓϦϯτόοΫϩά ✓ ݟੵΓ ϞϒΛ࢝Ίͯͳ͘ͳͬͨͷ ˰࡞ۀใࠂෆཁ ˰ඞཁ࠷ݶͷΈ ˰ෆཁ ˰࡞ۀϒϥϯνෆཁ ˰ΧονϦͨ͠ͷෆཁ ˰ࠓͷϑΣʔζͰෆཁ ˰ࠓͷϑΣʔζͰෆཁ ˰ࠓͷϑΣʔζͰෆཁ
!5",",*/( ୲࡞ۀͷ߹ ࡞ۀͷ༰Λਂ۷Γͯ͠ΈΔͱʜ ୲ͨ͠࡞ۀͷಉظ ୲͢ΔͨΊͷίϛϡχέʔγϣϯ ͷ͕࣌ؒҙ֎ͱଟ͍ FY ✓ ϨϏϡʔ ✓
ೝࣝ߹Θͤ ✓ ใࠂձ ✓ ேྱ
!5",",*/( ୲࡞ۀͷ߹ ࡞ۀͷ༰Λਂ۷Γͯ͠ΈΔͱʜ ͪΖΜϛείϛϡχέʔγϣϯʹ ΑͬͯखΓΛ͢ΔՄೳੑ͋Δ
!5",",*/( Ϟϒͷ߹ ࡞ۀͷ༰Λਂ۷Γͯ͠ΈΔͱʜ ✓ ୲͢ΔͨΊͷίϛϡχέʔγϣϯඞཁͳ͍ ✓ νʔϜͷϛείϛϡχέʔγϣϯʹΑΔ खΓجຊతʹͳ͍
!5",",*/( Ϟϒͷ߹ ࡞ۀͷ༰Λਂ۷Γͯ͠ΈΔͱʜ ʮͬͯͳ͍ʯͰͳͯ͘ৗʹʮ͍ͬͯΔʯঢ়ଶ ;Γ͔͑ΓɺϨϏϡʔɺઃܭɺೝࣝ߹ΘͤɺݟੵΓɺܭըʜ
!5",",*/( ੜ࢈ੑɾεϐʔυ ৺ཧత҆શੑ ϓϩμΫτ։ൃ ϊϋɾεΩϧൖ
!5",",*/( ✓ ͓ޓ͍ͷಘҙΛิ͠߹͑Δ ✓ Θ͔Βͳ͍͜ͱΛڭ͑߹͑Δ ✓ ॻ͖ํਐΊํʹର͢Δߟ͑ํ͍Λ ৗʹ͢Γ߹ΘͤΔ͜ͱ͕Ͱ͖Δ ✓ શһͰμϝͳΒ͠ΐ͏͕ͳ͍ͱࢥ͑Δ
✓ ୡײΛڞ༗Ͱ͖Δ ৺ཧత҆શੑ
!5",",*/( ʮͬͨʔʂʂʯΛڞ༗Ͱ͖Δ
!5",",*/( ੜ࢈ੑɾεϐʔυ ৺ཧత҆શੑ ϓϩμΫτ։ൃ ϊϋɾεΩϧൖ
!5",",*/( ✓ ৗʹશһ͕͍ͬͯΔঢ়ଶΛ࡞ΕΔ ✓ ݁Ռ͚ͩ͡Όͳ͘աఔɾܦҢ͕Θ͔Δ ✓ ํΛৗʹ͢Γ߹ΘͤΒΕΔ ϊϋɾεΩϧൖ
!5",",*/( νʔϜͷࣝൣғͱͯ͠ͷϕετ #͞Μ $͞Μ "͞Μ
!5",",*/( νʔϜͷࣝൣғͱͯ͠ͷϕετ #͞Μ $͞Μ "͞Μ ୲࡞ۀͷ߹ "͞Μͷࣝൣғ ͳͷͰରԠՄೳ "͞Μͷࣝൣғ֎Ͱɺ #͞ΜʹϨϏϡʔͯ͠
Βͬͨ߹ͷΈ ϑΥϩʔՄೳ "͞Μͷࣝൣғ֎Ͱɺ $͞ΜʹϨϏϡʔͯ͠ Βͬͨ߹ͷΈ ϑΥϩʔՄೳ
!5",",*/( νʔϜͷࣝൣғͱͯ͠ͷϕετ #͞Μ $͞Μ "͞Μ Ϟϒͷ߹ ରԠՄೳ
!5",",*/( ੜ࢈ੑɾεϐʔυ ৺ཧత҆શੑ ϓϩμΫτ։ൃ ϊϋɾεΩϧൖ
!5",",*/( ✓ ৗʹνʔϜʹର͕ੜ·Ε͍ͯΔ ✓ ಈ͘ϓϩμΫτ͕νʔϜͷத৺ʹ͋Δ ✓ िϖʔεͰސ٬ʹձ͍͑ͯΔ ✓ ܭըৗʹมԽ͍ͯ͠Δ ϓϩμΫτ։ൃ
!5",",*/( ͦͦৗʹରΛ͠ͳ͍ͱࣄ͕ਐ·ͳ͍
!5",",*/( ಈ͘ϓϩμΫτ ϝλϑΝͱͯ͠ಈ͘ϓϩμΫτ͕ৗʹνʔϜͷத৺ʹ͋Δ
!5",",*/( ✓ ৗʹνʔϜʹର͕ੜ·Ε͍ͯΔ ✓ ಈ͘ϓϩμΫτ͕νʔϜͷத৺ʹ͋Δ ✓ िϖʔεͰސ٬ʹձ͍͑ͯΔ ✓ ܭըৗʹมԽ͍ͯ͠Δ ϓϩμΫτ։ൃ
͜Εͬͯɾɾɾʂʁ
!5",",*/( IUUQBHJMFNBOJGFTUPPSHJTPKBNBOJGFTUPIUNM
!5",",*/( ࠓࣄྫͷΛத৺ʹͨ͠ͷͰ Ϟϒϓϩάϥϛϯάͷίπ)PXUPͷΛ͍ͯ͠·ͤΜ
!5",",*/( ࢲୡͱҰॹʹಇ͖·ͤΜ͔ʁ Ϟϒ͠ ✓ ϞϒݟֶˍମݧπΞʔ ✓ Ϟϒϓϩάϥϛϯάษڧձ $POUBDUNF!5",",*/(
!5",",*/( ·ͱΊ
!5",",*/( IUUQTTQFBLFSEFDLDPNUBLBLJOH IUUQTXXXTMJEFTIBSFOFU5BLBP0ZPCFQSFTFOUBUJPOT ࠷ऴతʹʮͬͱҰॹʹಇ͚͍͍ʯ ͱ͍͏݁ʹͳΔ͜ͱ͕ଟ͍
!5",",*/( ✓ ͳͥࣄΛ୲͢Δඞཁ͕͋Δͷ͔ ✓ ҰॹʹΔΑΓࣄΛ୲͢Δํ͕ޮతͳͷ͔ ✓ ͳͥόʔδϣϯཧ͕ඞཁͳͷ͔ ઌೖ؍ʹͱΒΘΕ͍ͯͳ͔͔ͬͨʁ
!5",",*/( ιϑτΣΞ։ൃ্ͷͷଟ͘ɺ ٕज़తͱ͍͏ΑΓࣾձֶతͳͷͰ͋Δ τϜɾσϚϧίςΟϞγʔɾϦελʔʢϐʔϓϧΣΞʣ
!5",",*/( ୲͢Δ͜ͱΛલఏʹɺ ͦͷͨΊͷίϛϡχέʔγϣϯΛ ͏·͘Ζ͏ͱ͍͗ͯ͢͠ͳ͔ͬͨͩΖ͏͔
!5",",*/( %FW -07&
!5",",*/( ϓϩμΫτ͕ಈ͍ͨ࣌ɺ ϓϩμΫτΛ͓ͬͨ٬͞Μ͕تΜͰ͘Εͨ࣌ɺ ؒͱҰॹʹʮͬͨʔʂʂʯͱݴ͍ͬͯ·͔͢ʁ
!5",",*/( IUUQBHJMFNBOJGFTUPPSHJTPKBNBOJGFTUPIUNM ΞδϟΠϧͷਅͦ͜ʹ͋ΔΜ͡Όͳ͍͔ͳʁ
!5",",*/( ࢥ͍ग़ͤͯ͘͞Εͨͷ͕Ϟϒϓϩάϥϛϯάͩͬͨ
!5",",*/( ୭͕͜ͷಇ͖ํΛؾʹೖΔΘ͚Ͱͳ͍ ҙ
!5",",*/( 1IPUPCZ5IF64"SNZ IUUQTHPPHM:F7VX ೃΕ߹͍Ͱͳܹ͘͠߹͑Δ ᪳͏͜ͱͳ͘ڞʹӽڥͰ͖Δ ઓ༑
!5",",*/( ͦ͏͍͏ਓୡͱࢲҰॹʹϞϒ͍ͨ͠ ͨΒ͖
!5",",*/( %FW -07&Ͱ͔͢ʁ !5",",*/(