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
8
4.9k
スクラムガイドに載っていないスクラムのはじめかた - チームでスクラムをはじめるときに知っておきたい勘所を集めてみました! - / How to start Scrum that is not written in the Scrum Guide 2nd
takaking22
5
1.5k
スクラムというコンフォートゾーンから抜け出そう!プロジェクト全体に目を向けるインセプションデッキ / Inception Deck for seeing the whole project
takaking22
6
1.7k
受託開発でもアジャイル開発できました / Agile in Contract Development
takaking22
19
8.4k
AI時代のアジャイル開発(XP祭り2024版) / Agile Development in the AI Era in XPJUG
takaking22
16
5.3k
我々はなぜテストを書くのか / Why we write test codes
takaking22
7
1.3k
AI時代のアジャイル開発 / Agile Development in the AI Era
takaking22
2
1.8k
スクラムガイドに載っていないスクラムのはじめかた - チームでスクラムをはじめるときに知っておきたい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
re:Invent 2025の見どころと便利アイテムをご紹介 / Highlights and Useful Items for re:Invent 2025
yuj1osm
0
460
境界線が消える世界におけるQAエンジニアのキャリアの可能性を考える / Considering the Career Possibilities for QA Engineers
mii3king
2
100
ViteとTypeScriptのProject Referencesで 大規模モノレポのUIカタログのリリースサイクルを高速化する
shuta13
3
240
新米エンジニアをTech Leadに任命する ー 成長を支える挑戦的な人と組織のマネジメント
naopr
1
310
Okta Identity Governanceで実現する最小権限の原則
demaecan
0
210
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
350
デザインとエンジニアリングの架け橋を目指す OPTiMのデザインシステム「nucleus」の軌跡と広げ方
optim
0
130
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
730
可観測性は開発環境から、開発環境にもオブザーバビリティ導入のススメ
layerx
PRO
4
2.3k
データとAIで明らかになる、私たちの課題 ~Snowflake MCP,Salesforce MCPに触れて~ / Data and AI Insights
kaonavi
0
200
OpenCensusと歩んだ7年間
bgpat
0
270
Open Table Format (OTF) が必要になった背景とその機能 (2025.10.28)
simosako
3
550
Featured
See All Featured
Bash Introduction
62gerente
615
210k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Optimizing for Happiness
mojombo
379
70k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
A Tale of Four Properties
chriscoyier
161
23k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
How to train your dragon (web standard)
notwaldorf
97
6.3k
Agile that works and the tools we love
rasmusluckow
331
21k
Producing Creativity
orderedlist
PRO
348
40k
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",",*/(