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
4 Years Startup & Architecture
Search
Motohiro Takayama
July 14, 2017
Technology
3
1.1k
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
17k
近未来的並列 LL
mootoh
1
310
Other Decks in Technology
See All in Technology
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.7k
Four Keysから始める信頼性の改善 - SRE NEXT 2025
ozakikota
0
410
PHPからはじめるコンピュータアーキテクチャ / From Scripts to Silicon: A Journey Through the Layers of Computing
tomzoh
2
120
公開初日に Gemini CLI を試した話や FFmpeg と組み合わせてみた話など / Gemini CLI 初学者勉強会(#AI道場)
you
PRO
0
1.3k
VS CodeとGitHub Copilotで爆速開発!アップデートの波に乗るおさらい会 / Rapid Development with VS Code and GitHub Copilot: Catch the Latest Wave
yamachu
3
460
ABEMAの本番環境負荷試験への挑戦
mk2taiga
5
1.3k
セキュアなAI活用のためのLiteLLMの可能性
tk3fftk
1
330
第64回コンピュータビジョン勉強会「The PanAf-FGBG Dataset: Understanding the Impact of Backgrounds in Wildlife Behaviour Recognition」
x_ttyszk
0
240
TLSから見るSREの未来
atpons
2
310
american aa airlines®️ USA Contact Numbers: Complete 2025 Support Guide
aaguide
0
500
How to Quickly Call American Airlines®️ U.S. Customer Care : Full Guide
flyaahelpguide
0
240
モニタリング統一への道のり - 分散モニタリングツール統合のためのオブザーバビリティプロジェクト
niftycorp
PRO
1
520
Featured
See All Featured
Speed Design
sergeychernyshev
32
1k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Agile that works and the tools we love
rasmusluckow
329
21k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Raft: Consensus for Rubyists
vanstee
140
7k
BBQ
matthewcrist
89
9.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
The Invisible Side of Design
smashingmag
301
51k
Scaling GitHub
holman
460
140k
Automating Front-end Workflow
addyosmani
1370
200k
KATA
mclloyd
30
14k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
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