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
スモールプロダクト制の今までとこれから / cabasecamp-smallproduct
Search
CyberAgent
PRO
February 22, 2019
Technology
0
280
スモールプロダクト制の今までとこれから / cabasecamp-smallproduct
サイバーエージェントの技術者(エンジニア・クリエイター)向けカンファレンス『CA BASE CAMP 2019』
スモールプロダクト制の今までとこれから
三木 俊作
CyberAgent
PRO
February 22, 2019
Tweet
Share
More Decks by CyberAgent
See All by CyberAgent
新規開発と並走したリファクタリング戦略
cyberagentdevelopers
PRO
0
130
大規模Reactアプリのリアーキテクチャ_8万行のTanStack Query移行の奇跡
cyberagentdevelopers
PRO
1
120
CA.swift19_恋するAIアプリ開発の裏側
cyberagentdevelopers
PRO
1
44
CLのウィジェット開発について
cyberagentdevelopers
PRO
1
23
少数チームで挑む: SwiftUI, TCA, KMPを用いた 新規動画配信アプリ
cyberagentdevelopers
PRO
2
36
ABEMAの課金機能の刷新について:- StoreKit2によるiOSのアプリ内課金のリニューアル
cyberagentdevelopers
PRO
0
26
同時に複数購読可能なサブスクリプションを提供する
cyberagentdevelopers
PRO
0
24
Flutter × Rive 魅力的なアニメーション
cyberagentdevelopers
PRO
0
110
Serverpodを活用したDartのフルスタックアプリケーション開発
cyberagentdevelopers
PRO
0
140
Other Decks in Technology
See All in Technology
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
760
Databricks における 『MLOps』
databricksjapan
2
170
require(ESM)とECMAScript仕様
uhyo
3
760
競技としてのKaggle、役に立つKaggle
yu4u
3
1.8k
Janus
bkuhlmann
1
490
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
0
230
Vertex AI を中心に 生成AIのアップデートを共有します
kaz1437
0
310
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
300
開発パフォーマンスを最大化するための開発体制
ham0215
2
430
反実仮想機械学習とは何か
usaito
PRO
11
4.7k
IaCジェネレーターとBedrockで詳細設計書を生成してみた
tsukasa_ishimaru
1
280
今年のRubyKaigiはProfiler Year🤘
osyoyu
0
150
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
Atom: Resistance is Futile
akmur
259
25k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
121
39k
Clear Off the Table
cherdarchuk
84
310k
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
10 Git Anti Patterns You Should be Aware of
lemiorhan
648
58k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Automating Front-end Workflow
addyosmani
1356
200k
Building Adaptive Systems
keathley
31
1.9k
Making Projects Easy
brettharned
108
5.5k
Transcript
εϞʔϧϓϩμΫτ੍ͷ ࠓ·Ͱͱ͜Ε͔Β
ࡾ ढ़࡞ • 2017த్ೖࣾ • AmebaΞϓϦiOSνʔϜϦʔμʔ ։ൃͱνʔϜϚωʔδϝϯτΛ͠ͳ͕ΒAmebaԣஅͰٕ ज़৫Λྑ͍ͯ͘͘͠Έ͍ͨͳ͜ͱΛੜۀʹͯ͠·͢ @shun_sakuuuu shun-mk
1.Amebaͷࠓ·Ͱ 2.εϞʔϧϓϩμΫτͱʁ 3.࣮ફεϞʔϧϓϩμΫτ 4.͜Ε͔Βͷ
Amebaͷࠓ·Ͱ
Amebaͷࠓ·Ͱ • ͍ͭಥવࢪࡦʹΞαΠϯ͞ΕΔ͚Ͳ͜ΕͬͯͳΜͰΔΜͩΖ͏ɻɻɻ • ͦͦ͜ͷࢪࡦʹ͕ࣗΞαΠϯ͞Εͨഎܠ͕Α͘Θ͔Μͳ͍ • ༷มߋ͕ϦϦʔεલʹ͖ͬͯͯͯΜΘΜ • ͱΓ͋͑ͣݴΘΕ͔ͨΒΔ͔͊
Amebaͷࠓ·Ͱ • ࠷ॳͷϦϦʔεʹؒʹ߹Θͳͯ͘ݟૹͬͨػೳΛ࣮͢ΔػձΛ༩͑ΒΕ ͣࢮΜͰ͍͘ • ͱΓ͋͑ͣϦϦʔεͨ͠ͷͷ࣮͕Α͘Θ͔Βͳ͍ • ͜ͷؒϦϦʔε͔ͨͬ͠ΓͳͷʹԿނ͔͏৽ͷ͕Ͱ͍ͯΔ
͜ΕΛଓ͚ΔͱͲ͏ͳΔ͔ɾɾɾ
ΔؾɾαʔϏεͷѪΛࣦ͍ͬͯ͘
Amebaͷࠓ·Ͱ • τοϓμϯͰࢪࡦ͕མͪͯ͘Δ(ೲಘײͷෆ) • ༷ͷ٧Ίʹೖ͍ͬͯͳ͍(ෆຬͷ૿Ճ) • ࣄۀతͳࣈ͕શ͘ݟ͍͑ͯͳ͍ɾݟΑ͏ͱ͍ͯ͠ͳ͍(ୡײͷෆ) ͜͏ͳͬͨͷԿ͕ݪҼʁʁ
10݄εϞʔϧϓϩμΫτര
εϞʔϧϓϩμΫτͱʁ
εϞʔϧϓϩμΫτͱ ߘ Ӿཡ ೝূ
εϞʔϧϓϩμΫτͱ ɹɹɹߘ ɹɹӾཡɹɹɹɹɹ ೝূ ΦϯϘʔσΟϯ ά ϦΞΫγϣϯ ߘ ϒϥβ
ΞϓϦ DCҠઃ
εϞʔϧϓϩμΫτͱ ɹɹɹߘ ɹɹӾཡɹɹɹɹɹ ೝূ ΦϯϘʔσΟϯ ά ϦΞΫγϣϯ ߘ ϒϥβ
ΞϓϦ ग़ձ͍ ϑΥϩʔ ΤσΟλ ͑͜ ग़ձ͍ DCҠઃ ձһొ ి൪߸ ೝূ ϑΥϩʔ
εϞʔϧϓϩμΫτͱ • Amebaʹ༷ʑͳػೳ͕ଘࡏ͍ͯ͠Δ • Ӿཡ(ϒϩάAmebaτϐοΫεͷӾཡɾϒϩΨʔϑΥϩʔɾӾཡཤྺ) • ߘ(ϒϩάͷߘɾΫϦοϓϒϩάͷߘɾΤσΟλ) • ೝূ…etc ৫͕େ͖͗͢Δ
εϞʔϧϓϩμΫτͱ • ֤ػೳʹूதͯ͠ίϛοτ͢Δ͜ͱͰࢪࡦޮՌͷ࠷େԽ͕ਤΕ ΔͷͰʁʁ • ৽͍͠ઓΛ͍ͨ࣌͠νʔϜԽ͞Εͯ৫ͱͯ͠୭͕ԿΛͯ͠ ͍Δ͔໌֬ʹͳΔ • ৬छΛ͑ͯࣄۀՌʹίϛοτ͢ΔνʔϜΛࢦ͢
εϞʔϧϓϩμΫτͱ • ֤ػೳʹूதͯ͠ίϛοτ͢Δ͜ͱͰࢪࡦޮՌͷ࠷େԽ͕ਤΕ ΔͷͰʁʁ • ৽͍͠ઓΛ͍ͨ࣌͠νʔϜԽ͞Εͯ৫ͱͯ͠୭͕ԿΛͯ͠ ͍Δ͔໌֬ʹͳΔ • ৬छΛ͑ͯࣄۀՌʹίϛοτ͢ΔνʔϜΛࢦ͢
εϞʔϧϓϩμΫτͱ • ͦΕͧΕͷεϞʔϧϓϩμΫτຖʹKPIΛઃఆ • KPIΛୡ͢ΔͨΊʹͲΜͳࢪࡦɾػೳΛϦϦʔε͢Δ͔ΛνʔϜ ͰܾΊΔ • ܾΊͨࢪࡦɾػೳ͕ਖ਼͍͠ํ͔૬ஊ • ։ൃʗϦϦʔε
• ࣈ͕Ͳ͏ͳ͔ͬͨ֬ೝޙKPT
࣮ફεϞʔϧϓϩμΫτ
ྑ͔ͬͨͱ͜Ζ
αʔϏεͷѪɾཧղ্
࣮ફεϞʔϧϓϩμΫτ • ϢʔβʔʹԿͷػೳΛఏڙ͢Δ͔Λߟ͑ΔͷͬͺΓָ͍͠ • ࠓ·ͰͷAmebaʹෆ͍ͯͨ͠αʔϏεΛ࡞͍ͬͯ͘ײͷ্ • ࣈʹରͯ͠ͷҙ͕ࣝࣗવͱ͍ͯ͘Δ
ϓϩμΫτϝϯόʔͱإΛ߹ΘͤΔ ػձΛઃ͚͍͢
࣮ફεϞʔϧϓϩμΫτ •ϏδɺςΫɺσβͷ୭͕ؔͯ͠Δ͔͕͙͢Θ͔Δ •ேձ༦ձͷఆྫΛ։࠵͍͢͠ •ͦΕͧΕͷ৬छͷਐḿঢ়گΛڞ༗͍͢͠ •KPTɺৼΓฦΓ࣮ࢪ͘͢͠ͳͬͨ
νʔϜͷঢ়گ͕͖ͬΓݟ͑ͯ͘Δ
࣮ફεϞʔϧϓϩμΫτ •ඞͣௐͷͱ͜Ζͱෆௐͳͱ͜Ζ͕ग़ͯ͘Δ •ௐʗෆௐͲͪΒ༷ʑͳཁҼ͕བྷΜͰ͍Δ •ͦͷঢ়ଶʹؕͬͨݪҼΛώΞϦϯά͠ల։͢Δ͜ͱ ͰφϨοδΛڞ༗ɾੵͰ͖Δ
ѱ͔ͬͨͱ͜Ζɾ͖͔ͭͬͨͱ͜Ζ
ෳͷεϞʔϧϓϩμΫτͷཧ ਏ͗͢
࣮ફεϞʔϧϓϩμΫτ • ࠷ऴతʹϦϦʔε͞ΕΔΞϓϦҰͭ • ҰͭͷεϞʔϧϓϩμΫτͷԆ͕ϦϦʔεΛ৳͢Մೳੑ • ݁Ռతʹͯ͢ͷεϞʔϧϓϩμΫτͷϦϦʔε͕Εͯ͠·͏ةػ • ͦΕͧΕͰ։ൃͨ͠ػೳͷ༷ΛѲ͢Δ͚ͩͰڰؾͷࠫଡ
ҰͷϦϦʔεʹػೳ٧ΊࠐΈ͗͢
࣮ફεϞʔϧϓϩμΫτ • ͦΕͧΕͷϓϩμΫτຖʹՌΛ࠷େԽ͢ΔͬͯҙຯͰؒҧͬͯ ͳ͍ • ࠓ·ͰͩͬͨΒ࣌ظͣΒͯ͠ϦϦʔε͠·͠ΐ͏ͬͯϨϕϧͷࢪࡦ͕ Ұؾʹ̏ͭϦϦʔεʹͬͨΓͱ͔…
࣮ફεϞʔϧϓϩμΫτ • େ͖͍ػೳͷPull Request͕සൃ͢Δ͜ͱʹΑΓେͳίϯϑϦΫ τ͕ൃੜ • Ϛʔδεέδϡʔϧͷௐ(ීஈΒͳ͍)ςετͷ૿େί ετ͕ΓΓʹ
εϞʔϧϓϩμΫτʹଐ͞ͳ͍Ҋ݅
࣮ફεϞʔϧϓϩμΫτ • εϞʔϧϓϩμΫτԽ͞Ε͍ͯͳׂ͍͕ͱఆৗతʹଘࡏ͍ͯ͠ΔҊ݅ ͕ଘࡏͨ͠(ࠂͷಋೖɺCSରԠ…etc) • ͦΕͧΕͷεϞʔϧϓϩμΫτʹΞαΠϯ͞Ε͍ͯΔϝϯόʔ͕ϑϧ ίϛοτͷঢ়گͱͳ͍ͬͯͨ • ݁Ռతʹຫੑతͳਓखෆײ͕൱Ίͳ͍ঢ়ଶʹ
͜Ε͔Βͷ
QͰ࣮ફͯ͠Έͯ݁ՌͲ͏͔ͩͬͨʁ
ݸਓతʹͱͯྑ͍ํʹਐΜͰ͍Δ ͱࢥ͍ͬͯΔ
͜Ε͔Βͷ • ࠓ·ͰͷAmebaͰͨ͠ෆຬΈ͍ͨͳͱ͜Ζ֓Ͷղফ͞Ε͍ͯΔ (ೲಘײͷෆɺෆຬͷ૿Ճɺୡײͷෆ) • ୲͍ͯ͠ΔϓϩμΫτ͕໌֬ͳͷͰඪΛઃఆ͍͢͠ • ࣗͨͪͰߟ͑ͨࢪࡦ͕ϦϦʔεͰ͖ΔͷͰαʔϏεΛ࡞͍ͬͯΔײ ͕ڧ͍ •
ෆ͕ͪ͠ͳ͍ࠐ·ΕͯΔ࣌ͷίϛϡχέʔγϣϯ͕׆ൃԽ
͡Ό͋͜ͷ··Ͱ͍͍ͷ͔ʁʁ
൱
͜Ε͔Βͷ • ࣮ફͰͨ͠ͱ͓Γ՝ࢁੵΈ • Ξϓϩʔν͍Ζ͍Ζ͋Γͦ͏ • ෳεϞʔϧϓϩμΫτͷཧํ๏ • ϦϦʔεαΠΫϧͷݟ͠ •
ϝϯόʔͷՔಇঢ়ଶͷѲ
͜Ε͔Βͷ • ྺ࢙͕͘େ͖͍৫Λ͙͢ʹվֵ͢Δ͜ͱແཧ • εϞʔϧϓϩμΫτ͕มֵͷऔֻ͔ͬΓʹͳͬͯཉ͍͠ • εϞʔϧϓϩμΫτ͚ͩͰҙࢥܾఆΛߦ͍εϐʔυײΛ ͬͯΕΔΑ͏ʹ͍ͨ͠ • QຖͷKPTΛܧଓ͠ৗʹਐԽ͢Δඞཁ͕͋Δ
αʔϏεΛਐԽɾͤ͞ΔͨΊʹɺ ͳΓΛഉআ͠ɺ ৫ৗʹਐԽɾ͠ͳͯ͘ͳΒͳ͍
͋Γ͕ͱ͏͍͟͝·ͨ͠