Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
4 Years Startup & Architecture
Motohiro Takayama
July 14, 2017
Technology
3
810
4 Years Startup & Architecture
Case study for architecture changes in startup company
Motohiro Takayama
July 14, 2017
Tweet
Share
More Decks by Motohiro Takayama
See All by Motohiro Takayama
High 意識 Android - Mercari Day
mootoh
14
16k
近未来的並列 LL
mootoh
1
270
Other Decks in Technology
See All in Technology
SPA・SSGでSSRのようなOGP対応!
simo123
2
160
Google Cloud Workflows: API automation, patterns and best practices
glaforge
0
110
KyvernoとRed Hat ACMを用いたマルチクラスターの一元的なポリシー制御
ry
0
240
03_ユーザビリティテスト
kouzoukaikaku
0
730
AI Builderについて
miyakemito
1
980
2年で10→70人へ! スタートアップの 情報セキュリティ課題と施策
miekobayashi
1
690
DNS権威サーバのクラウドサービス向けに行われた攻撃および対策 / DNS Pseudo-Random Subdomain Attack and mitigations
kazeburo
5
1.3k
イ良い日ンマを作る(USBストレージ容量偽装の手法) / USB Storage Capacity Faking Techniques
shutingrz
0
560
FlexScan HD2452Wの 後継を探して
tring
0
6.6k
もし本番ネットワークをまるごと仮想環境に”コピー”できたらうれしいですか? / janog51
corestate55
0
390
230125 モニターマウントLT ITガジェット翁(Ryu.Cyber)さん
comucal
PRO
0
4.8k
ユーザーテストガイドライン VERSION 2.0
kouzoukaikaku
0
1.6k
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
59
5.7k
4 Signs Your Business is Dying
shpigford
171
20k
The Illustrated Children's Guide to Kubernetes
chrisshort
22
43k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
24
4.6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
31
20k
jQuery: Nuts, Bolts and Bling
dougneiner
57
6.6k
Making Projects Easy
brettharned
102
4.8k
Navigating Team Friction
lara
177
12k
Code Review Best Practice
trishagee
50
11k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
13
5.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
22
1.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
10
1.3k
Transcript
4 Years Startup & Architecture @mootoh
None
https://commons.wikimedia.org/wiki/File:Evolution-des-wissens.jpg Evolution
Evolution - Product ! ! " #
Evolution - Organization https://pixabay.com/ja/photos/military%20men/ https://pixabay.com/ja/%E8%88%B9%E5%93%A1-%E7%B7%8F%E5%93%A1-%E6%B5%B7%E8%BB%8D-%E8%BB%8D%E4%BA%8B-%E4%BA%BA-%E3 %E7%94%B7%E6%80%A7-%E5%A5%B3%E6%80%A7-%E7%BE%A4%E8%A1%86-903044/ Future Now
Evolution - Scale • Product • Γ͍ͨ͜ͱ૿͑Δ • Organization •
Γ͍ͨ͜ͱ͕Ұഋ → ਓҰഋ͍Δ
Architecture Changes https://commons.wikimedia.org/wiki/File:Fachada_del_Nacimiento_-_Templo_de_la_Sagrada_Fam%C3%ADlia,_Barcelona_3.jpg
Phase 1 https://commons.wikimedia.org/wiki/File:Sleeping_baby_cat.jpg
0 → 1 • 5 months old • 2~3 engineers
• Startup!
Problem to Solve • Deliver MVP FAST to survive
Architecture https://pixabay.com/ja/%E5%B0%8F%E5%B1%8B-%E4%B8%B8%E5%A4%AA%E5%B0%8F%E5%B1%8B-%E7%B4%8D%E5%B1%8B-heustadel-%E9%A2%A8%E6%99%AF- %E8%87%AA%E7%84%B6-%E8%8D%89-792305/
Architecture for 0→1 • MVA for MVP • DIY tiny
architecture • &Not so huge Activity, reasonably small • Tightly coupled networking/model/view
Phase 2 https://pixabay.com/ja/%E6%A4%8D%E6%9C%A8%E9%89%A2-%E6%88%90%E9%95%B7-%E8%91%89-%E6%A4%8D%E7%89%A9-148267/
Growing Up • 1~3 years old • 2~5 engineers •
(Original Members Gone (to other projects)
Problem to Solve • Growth ↗↗↗ • Product requirements increased
↗ • A/B testing → code complexity ↗ • +"
Architecture https://ja.wikipedia.org/wiki/%E4%B9%9D%E9%BE%8D%E5%9F%8E%E7%A0%A6#/media/File:Kowloon_Walled_City_199
Architecture • Built on top of Phase 1 architecture •
૿ங/վங
Problems • Τϯτϩϐʔͷ૿େ • Classes Getting bigger • ͍ΖΜͳ design
pattern ͕ࠞࡏ • Getting harder to change • Hard for new members • ➡ ౷Ұ Architecture χʔζͷߴ·Γ
Phase 3 https://commons.wikimedia.org/wiki/File:Northeast_View_in_the_East_Room_during_the_White_House_Renovation-06-21-1951.jpeg
Refactoring+ • ঃʑʹҰ෦ʹϞμϯͳςΫϊϩδʔΛಋೖ • okhttp/RxJava/DI • MVVM • Started off
with networking layer • ੜଘڝ૪
Phase 4 https://commons.wikimedia.org/wiki/File:Big-bang-explosion-2.jpg
Fork by Region • Problem to Solve • Region ಠࣗͷ
UI, ࢪࡦΛ࣮͘͢ • ࣌ࠩͷ͋ΔίʔυϨϏϡʔΛ͠ͳ͍
" • +Complete rewrite • MVVM + (Service, Repository) •
ͱͯϞμϯ
!,# • ·ͩڞ௨ Architecture • based on Phase 3 •
৽ن࣮ MVVM+Rx+DI
http://www.picserver.org/f/future.html
Future • Problem to Solve • Scale: Product / Organization
Architecture https://commons.wikimedia.org/wiki/File:CAPSULE_HOTEL,_TOKYO.jpg
Architecture - • Component based • Project, ਓ͕૿͑ͯ conflict ͠ͳ͍ɺׯব͠ͳ͍
• Project ͝ͱʹ Component ͕͋ΔΠϝʔδ • Uber RIB ؾʹͳ͍ͬͯΔ • VIPER base, Android / iOS ڞ௨
͓ΘΓʹ • Startup ʹ࠷దͳ Architecture: phase ͰҟͳΔ • Scale to
Product / Organization • ·ͩ࠷దղͳ͍ → ݟ͚ͭΑ͏ • We are hiring
None