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
920
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
290
Other Decks in Technology
See All in Technology
レガシーをぶっ壊せ。AEONで始めるDevRelの話 / Qiita Night 2024-2-22
aeonpeople
3
1.3k
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
27
5.9k
ChatGPT for IT Service Management (IT Pro)
dahatake
7
1.5k
検証を通して見えてきたTiDBの性能特性
lycorptech_jp
PRO
6
3.7k
最近たまに見かけるTiDBってなんだ? - Findy
pingcap0315
2
770
ここが嬉しいABAC ここが辛いよABAC #再解説+補足編
masahirokawahara
1
270
Vertex AI を中心に 生成AIのアップデートを共有します
kaz1437
0
300
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
3
12k
Terraformあれやこれ/terraform-this-and-that
emiki
8
1.4k
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
0
220
プロデザ! BY リクルート vol.18_リクルートのリサーチ実践組織「リサーチブーストコミュニティ」
recruitengineers
PRO
3
280
マルチアカウント環境への発見的統制の導入
ch1aki
1
1.3k
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
689
190k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
244
20k
Code Reviewing Like a Champion
maltzj
514
39k
It's Worth the Effort
3n
180
27k
Agile that works and the tools we love
rasmusluckow
325
20k
The Power of CSS Pseudo Elements
geoffreycrofte
60
5k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
Designing Experiences People Love
moore
136
23k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Bash Introduction
62gerente
604
210k
Embracing the Ebb and Flow
colly
80
4.1k
Designing with Data
zakiwarfel
96
4.8k
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