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
我々はなぜテストを書くのか / Why we write test codes
takaking22
7
870
AI時代のアジャイル開発 / Agile Development in the AI Era
takaking22
2
580
スクラムガイドに載っていないスクラムのはじめかた - チームでスクラムをはじめるときに知っておきたい5個のコツ - / How to start Scrum that is not written in the Scrum Guide
takaking22
19
7k
よいチームをよい雰囲気を保ったままよい組織にスケールさせていくためにできること / What you can do to scale a good team into a good organization
takaking22
12
5.3k
Open Space Technology Introducion (EN)
takaking22
2
150
オープンプロポーザルの文化をよいものにしたい / improve the culture of open proposals
takaking22
1
920
いきいきした受託開発をするためにアジャイルチームができること / What Agile Teams Can Do for Lively Contract Development
takaking22
2
2.6k
家族を犠牲にしない!子育てエンジニアのコミュニティとの関わり方 / How to Engage with the Community for Parenting Engineers
takaking22
9
3k
リーダー&マネージャーのためのモブプログラミング / Mobprogramming for managers and leaders
takaking22
7
2.6k
Other Decks in Technology
See All in Technology
Cloud Run と GitHub Template Repository による軽量なアプリケーションプラットフォーム/ #nikkei_tech_talk
nikkei_engineer_recruiting
0
120
不動産 x AIことはじめ~データの真価を拓くために
estie
0
130
Creative UIs with Compose: DroidKaigi 2024
chrishorner
1
610
LLVM/ASMを使った有限体の高速実装
herumi
0
120
Tricentisにおけるテスト自動化へのAI活用ご紹介/20240910Shunsuke Katakura
shift_evolve
0
210
開発者の定量・定性データを組み合わせて開発者体験を把握するための取り組み
ham0215
1
180
グイグイ系QAマネージャーの仕事
sadonosake
0
380
20240911_New_Relicダッシュボード活用例
speakerdeckfk
0
110
「認証認可」という体験をデザインする ~Nekko Cloud認証認可基盤計画
logica0419
2
460
内製化を目指す事業会社が、システム開発会社と共に進める「開発生産性改善」の取り組み事例 #devsumi
yuwji
1
160
開発生産性を始める前に開発チームができること / optim-improve-development-productivity.pdf
optim
0
150
効果的なオンコール対応と障害対応
ryuichi1208
6
3.1k
Featured
See All Featured
What's new in Ruby 2.0
geeforr
340
31k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
326
21k
We Have a Design System, Now What?
morganepeng
48
7.1k
The Language of Interfaces
destraynor
153
23k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
36
2.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
5
490
The Pragmatic Product Professional
lauravandoore
31
6.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
363
22k
Documentation Writing (for coders)
carmenintech
65
4.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
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",",*/(