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
650
SQLアンチパターンを読んでリファクタしてみた / sql-anti-pattern-refactored-2022
sanogemaru
0
500
Other Decks in Programming
See All in Programming
RailsでCQRS/ESをやってみたきづき
suzukimar
2
1.5k
SideKiqでジョブが二重起動した事象を深堀りしました
t_hatachi
0
230
Develop Faster With FrankenPHP
dunglas
2
2.4k
PHPer's Guide to Daemon Crafting Taming and Summoning
uzulla
2
1k
Denoでフロントエンド開発 2025年春版 / Frontend Development with Deno (Spring 2025)
petamoriken
1
1.3k
ステートソーシング型イベント駆動の視点で捉えるCQRS+ES
shinnosuke0522
1
320
List とは何か? / PHPerKaigi 2025
meihei3
0
550
Go1.24で testing.B.Loopが爆誕
kuro_kurorrr
0
160
私の愛したLaravel 〜レールを超えたその先へ〜
kentaroutakeda
12
3.5k
ミリしらMCP勉強会
watany
2
150
Django for Data Science (Boston Python Meetup, March 2025)
wsvincent
0
230
Going Structural with Named Tuples
bishabosha
0
170
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
How to Ace a Technical Interview
jacobian
276
23k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
102
18k
BBQ
matthewcrist
88
9.5k
A designer walks into a library…
pauljervisheath
205
24k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Designing for humans not robots
tammielis
250
25k
What's in a price? How to price your products and services
michaelherold
245
12k
Building Applications with DynamoDB
mza
94
6.3k
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