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
カオナビのチーム開発の裏側
Search
Genki Sano
April 11, 2022
Programming
0
1k
カオナビのチーム開発の裏側
Genki Sano
April 11, 2022
Tweet
Share
More Decks by Genki Sano
See All by Genki Sano
スクラムチームをスケールする〜LeSS導入3ヶ月の振り返りと課題〜/scaling-the-scrum-team
sanogemaru
2
580
SQLアンチパターンを読んでリファクタしてみた / sql-anti-pattern-refactored-2022
sanogemaru
0
490
Other Decks in Programming
See All in Programming
ecspresso, ecschedule, lambroll を PipeCDプラグインとして動かしてみた (プロトタイプ) / Running ecspresso, ecschedule, and lambroll as PipeCD Plugins (prototype)
tkikuc
2
240
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
920
快速入門可觀測性
blueswen
0
490
競技プログラミングへのお誘い@阪大BOOSTセミナー
kotamanegi
0
400
php-conference-japan-2024
tasuku43
0
420
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
6
690
traP の部内 ISUCON とそれを支えるポータル / PISCON Portal
ikura_hamu
0
170
テストコード書いてみませんか?
onopon
2
310
GitHubで育つ コラボレーション文化 : ニフティでのインナーソース挑戦事例 - 2024-12-16 GitHub Universe 2024 Recap in ZOZO
niftycorp
PRO
0
1.3k
AWSのLambdaで PHPを動かす選択肢
rinchoku
2
380
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
920
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
760
Featured
See All Featured
Building Adaptive Systems
keathley
38
2.3k
A designer walks into a library…
pauljervisheath
205
24k
A Tale of Four Properties
chriscoyier
157
23k
Gamification - CAS2011
davidbonilla
80
5.1k
The Cost Of JavaScript in 2023
addyosmani
46
7.2k
YesSQL, Process and Tooling at Scale
rocio
170
14k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
For a Future-Friendly Web
brad_frost
176
9.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Code Reviewing Like a Champion
maltzj
521
39k
Transcript
ࠤ ݩؾ ΧΦφϏͷνʔϜ։ൃͷཪଆ !1)1FS,BJHJ
ࣗݾհ !TBOPHFNBSV 2 גࣜձࣾΧΦφϏ αʔόʔαΠυΤϯδχΞ ΤϯδχΞϦϯάϚωʔδϟʔ ࠤ ݩؾ (FOLJ 4BOP
3 νʔϜ։ൃͯ͠·͔͢ʁ
4 ͍ͬͯΔͱࠔΔ͜ͱ͕ͨ͘͞Μ͋Δ ࠔͬͯΔͷʹԿݴͬͯ͘Εͳ͍ ϝϯόʔ͕ݮͬͯ͠·ͬͨ ϝϯόʔಉ࢜ͷഅ͕߹Θͳ͍ εέδϡʔϧ௨ΓʹऴΘΒͳ͍ ͓ޓ͍ʹ͍ͬͯΔ͜ͱ͕ݟ͑ͳ͍ ίϛϡχέʔγϣϯ্͕ख͘ͱΕͳ͍ ҙݟ͕߹Θͳ͍ ઃܭํ͕όϥόϥͰෛ࠴͕ग़དྷͯ͠·ͬͨ
5 ຊͷ
ຊͷ 6 ࣗͰॴଐͨ͠νʔϜͰͷମݧஊ l ͲΜͳ͜ͱͰࠔͬͨͷ͔ l ͦΕΛͲ͏ͬͯΓӽ͔͑ͨ l ͬͯΑ͔ͬͨ͜ͱ l
͚ͬͨͲ্ख͘ߦ͔ͳ͔ͬͨ͜ͱ
ຊͷ 7 ϓϩδΣΫτհ ࠔΓ͝ͱͱͦͷղܾํ๏ ·ͱΊ
8 ࣾһͷݸੑɾ࠽ೳΛൃ۷͠ઓུਓࣄΛՃͤ͞Δ λϨϯτϚωδϝϯτγεςϜʰΧΦφϏʱ © kaonavi Inc.
9 ϓϩδΣΫτհ
ϓϩδΣΫτհ 10 γʔτཤྺػೳͷ։ൃ l ։ൃظؒ ɿ̍ l ։ൃख๏ ɿΞδϟΠϧʢεΫϥϜʣ l
نײ ɿ̓ʙ໊̔
ϓϩδΣΫτհ 11 جຊใ l ࢯ໊ l ࣾһ൪߸ l ॴଐ l
ೖࣾ l ʜ l ༣ศ൪߸ l ಓݝ l ࢢ۠ொଜ l ொ໊ɾ൪ l ΞύʔτɾϚϯγϣϯ໊ l ʜ ݱॅॴ ࢁా ଠ γʔτ γʔτ
12 ϓϩδΣΫτհ ΤϯδχΞ 2"ΤϯδχΞ σβΠφʔ 10 εΫϥϜϚελʔ
13 ϓϩδΣΫτհ εϓϦϯτ ϓϥϯχϯά εϓϦϯτ ϨτϩεϖΫςΟϒ εϓϦϯτϨϏϡʔ σΠϦʔεΫϥϜ ຖ िؒ
ϦϦʔε
14 ࠔΓ͝ͱͱͦͷղܾํ๏
ࠔΓ͝ͱͱͦͷղܾํ๏ 15 10ͱΤϯδχΞͰ্ख͘࿈ܞ͕औΕͳ͍ ϓϥϯχϯάͲ͓Γʹ։ൃ͕ਐ·ͳ͍ ͋Γ·ͤΜͱ͍͏
16 ࠔΓ͝ͱͱͦͷղܾํ๏ 10ͱΤϯδχΞͰ্ख͘࿈ܞ͕औΕͳ͍
17 ࠔΓ͝ͱͱͦͷղܾํ๏ 10ͱΤϯδχΞͰ্ख͘࿈ܞ͕औΕͳ͍ l ։ൃਐḿ͕ѱ͔ͬͨ l ΤϯδχΞؒͰɺղܾ͢ΔͨΊʹ৭ʑࢼ͍ͯͨ͠ l 10͔ΒΤϯδχΞͰͷऔΈ͕ݟ͑ͣɺগ͠ෆ৴ײ͕ग़ͯ͠·ͬͨ l
ϑϧϦϞʔτͰͷࣄͩͬͨͷͰɺ༨ܭʹݟ͑ʹ͘͘ͳ͍ͬͯͨ
18 ࠔΓ͝ͱͱͦͷղܾํ๏ 10ͱΤϯδχΞͰ্ख͘࿈ܞ͕औΕͳ͍ ͬͯΈͨ͜ͱ l 10ͱϦʔυΤϯδχΞͰPOΛߦ͏
19 ࠔΓ͝ͱͱͦͷղܾํ๏ 10ͱΤϯδχΞͰ্ख͘࿈ܞ͕औΕͳ͍ POͷৄࡉ l ස ɿि̍ճ l ࣌ؒ ɿ̏̌
l ͢༰ɿࠔΓ͝ͱϞϠϞϠ͍ͯ͠Δ͜ͱͷڞ༗
20 ࠔΓ͝ͱͱͦͷղܾํ๏ 10ͱΤϯδχΞͰ্ख͘࿈ܞ͕औΕͳ͍ Ͳ͏ͳ͔ͬͨ l ࠣࡉͳҾֻ͔ͬΓΛղফग़དྷͨ l ಉ͡ํΛ͍ͯࣄ͕ग़དྷ͍ͯΔ͜ͱΛఆظతʹ֬ೝͰ͖ͨ l ͦΕʹΑΓɺ͓ޓ͍ͷ৴པ্͕ͨ͠
21 ࠔΓ͝ͱͱͦͷղܾํ๏ 10ͱΤϯδχΞͰ্ख͘࿈ܞ͕औΕͳ͍ l ಛʹͳ͠ l ͠Β͘εΫϥϜϚελʔʹ ؒʹೖͬͯΒͬͨ l ΞδΣϯμΛ࡞Βͳ͔ͬͨ
ͬͯྑ͔ͬͨ͜ͱ ͬͯඍົͩͬͨ͜ͱ
22 ࠔΓ͝ͱͱͦͷղܾํ๏ ϓϥϯχϯάͲ͓Γʹ։ൃ͕ਐ·ͳ͍
23 ࠔΓ͝ͱͱͦͷղܾํ๏ ϓϥϯχϯάͲ͓Γʹ։ൃ͕ਐ·ͳ͍ l ઃܭͷ૬ஊΛ͢Δ͕࣌ؒଟ͘ൃੜ͍ͯͨ͠ l ઃܭͷ࣌ؒෆ֬ఆཁૉ͕ଟ͘ɺϓϥϯχϯά࣌ʹਖ਼֬ͳ࣌ؒΛݟੵΔ ͷ͔ͬͨ͠ ˞͜͜Ͱͷʮઃܭʯͱ l
ৄࡉઃܭϓϩάϥϜઃܭΈ͍ͨͳͷ l ࣮ࡍʹରͷΫϥεʹରͯ͠Ͳ͜·ͰΛ࣋ͨͤΔ͔ʁͳͲ
24 ࠔΓ͝ͱͱͦͷղܾํ๏ ϓϥϯχϯάͲ͓Γʹ։ൃ͕ਐ·ͳ͍ ͬͯΈͨ͜ͱ l ϓϥϯχϯάͷલʹઃܭΛઃ͚ͯɺઃܭʹूத͢Δ࣌ؒΛ࡞ͬͨ l ઃܭΛϞϒϓϩͰͬͯΈͨ
25 ࠔΓ͝ͱͱͦͷղܾํ๏ CFGPSF ϓϥϯχϯά ઃܭ ࣮ ઃܭ ϓϥϯχϯά ࣮ BGUFS
26 ࠔΓ͝ͱͱͦͷղܾํ๏ ϓϥϯχϯάͲ͓Γʹ։ൃ͕ਐ·ͳ͍ Ͳ͏ͳ͔ͬͨ l ෆ֬ఆཁૉ͕ݮΓɺϓϥϯχϯάͷਫ਼্͕͕ͬͨ l εϓϦϯτͰୡ͖͢͜ͱ͕໌֬ʹͳΓɺϞνϕʔγϣϯ্͕͕ͬͨ l ҰॹʹઃܭΛ͢Δ͜ͱͰɺ࣮ํͷบ͕ἧ͏Α͏ʹͳͬͨ
27 ࠔΓ͝ͱͱͦͷղܾํ๏ ϓϥϯχϯάͲ͓Γʹ։ൃ͕ਐ·ͳ͍ l ϓϥϯχϯάͰઃܭ͢Δ l εϓϦϯτͷ࠷ऴʹઃܭ Λઃ͚Δ l ઃܭͰ۩ମతͳ࣮ํ๏
ίʔσΟϯά༰ܾΊͳ͍ l ઃܭͰίϝϯτ͚ͩΛॻ͘ ͬͯྑ͔ͬͨ͜ͱ ͬͯඍົͩͬͨ͜ͱ
28 ࠔΓ͝ͱͱͦͷղܾํ๏ ͋Γ·ͤΜͱ͍͏
29 ࠔΓ͝ͱͱͦͷղܾํ๏ ͋Γ·ͤΜͱ͍͏ l σΠϦʔεΫϥϜͷ ༰͕ࣅ௨ͬͯ͘Δ l ୶ʑͱࡢͱࠓͷ͕͋Γɺࠔ͍ͬͯΔ͜ͱͳ͍ ͰऴΘΔ l
͔͠͠ɺͳΜͱͳ্͘ख͘ߦ͍ͬͯΔ l ͕͋ͬͯগ͠ݴ͍ͮΒ͍ ঢ়گʢʁʣ
30 ࠔΓ͝ͱͱͦͷղܾํ๏ ͋Γ·ͤΜͱ͍͏ ͬͯΈͨ͜ͱ l ͪΐͬͱͨ͠͝ͱΛ 5SFMMPͰΧʔυ ʹͯ͠Βͬͨ l σΠϦʔεΫϥϜͷΞδΣϯμʹɺ5SFMMPͷ֬ೝͷ࣌ؒΛՃ
ͨ͠
31 ࠔΓ͝ͱͱͦͷղܾํ๏ ͋Γ·ͤΜͱ͍͏ 5SFMMPͷϦετ l ഉআ͍ͨ͠োɾࠔΓ͝ͱ l ͍͋·͍ͳ͜ͱ l ֬ೝɾରԠத
l ྃ
32 ࠔΓ͝ͱͱͦͷղܾํ๏ ͋Γ·ͤΜͱ͍͏ 5SFMMPͷϦετ l ഉআ͍ͨ͠োɾࠔΓ͝ͱ l ϓϩδΣΫτͷਐḿΛ્͢ΔΑ͏ͳཁҼΛॻ͍ͯஔ͘ॴ l ͍͋·͍ͳ͜ͱ
l Ͳ͏ͳ͍ͬͯΔͷ͔͍ͯ͠Δ͜ͱΛॻ͍ͯஔ͘ॴ
ࠔΓ͝ͱͱͦͷղܾํ๏ 33
34 ࠔΓ͝ͱͱͦͷղܾํ๏ ͋Γ·ͤΜͱ͍͏ Ͳ͏ͳ͔ͬͨ l ͪΐͬͱͨ͜͠ͱͰॻ͍ͯ͘Εͨ l ʹײ͍͕ͯͨ͡ɺேʹͳΔͱΕ͍ͯΔঢ়گ͕ݮͬͨ l ݦࡏԽ͍ͯ͠ͳ͍ΛૣΊʹͰ͖ΔΑ͏ʹͳͬͨ
35 ࠔΓ͝ͱͱͦͷղܾํ๏ ͋Γ·ͤΜͱ͍͏ l ϑΝΠϒϑΟϯΨʔ l ࢥ͍͍ͭͨλΠϛϯάʹ͙͢ هࡌͰ͖ΔॴΛͭ͘Δ l σΠϦʔεΫϥϜͰඞͣ৮ΕΔ
ͬͯྑ͔ͬͨ͜ͱ ͬͯඍົͩͬͨ͜ͱ
36 ࠔΓ͝ͱͱͦͷղܾํ๏ ͋Γ·ͤΜͱ͍͏ ϑΝΠϒϑΟϯΨʔ l ยखͷຊͷࢦͰࠓͷؾ࣋ͪঢ়گΛද͢؆୯ͳΞϯέʔτ l σΠϦʔεΫϥϜͰʮεϓϦϯτΰʔϧʹରͯ͠ͷਐḿʯʹ͍ͭͯฉ͍ͨ l ͕ಇ͍ͯɺগ͠ଟ͍ࣈΛग़ͯ͠͠·͏͜ͱ͕ଟ͔ͬͨ
l ͺͬͱৼΒΕΔͱযͬͪΌ͏ਓ͕͍ΔνʔϜʹ͔ͳ͍
·ͱΊ 37
·ͱΊ 38 ؾʹͳΔ͋Γ·ͨ͠Ͱ͠ΐ͏͔ʁ l ͜ͷ··ಋೖ্ͯ͠ख͘ߦ͔ͳ͍͜ͱ͕ଟ͍ͣ l ಋೖ͔ͯ͠ΒʮΧΠθϯʯ͢Δ͜ͱ͕ॏཁ l ͱΓ͋͑ͣͬͯΈΔྫͱͯ͠׆༻ͯ͠ཉ͍͠ l
ϋοϐʔͳνʔϜ։ൃϥΠϑΛʂ
© kaonavi Inc. 8&"3&)*3*/( IUUQTDPSQLBPOBWJKQSFDSVJUMJTU