Upgrade to Pro — share decks privately, control downloads, hide ads and more …

4 Years Startup & Architecture

4 Years Startup & Architecture

Case study for architecture changes in startup company

Motohiro Takayama

July 14, 2017
Tweet

More Decks by Motohiro Takayama

Other Decks in Technology

Transcript

  1. 4 Years Startup & Architecture @mootoh

  2. None
  3. https://commons.wikimedia.org/wiki/File:Evolution-des-wissens.jpg Evolution

  4. Evolution - Product ! ! " #

  5. 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

  6. Evolution - Scale • Product • ΍Γ͍ͨ͜ͱ͸૿͑Δ • Organization •

    ΍Γ͍ͨ͜ͱ͕Ұഋ → ਓ΋Ұഋ͍Δ
  7. Architecture Changes https://commons.wikimedia.org/wiki/File:Fachada_del_Nacimiento_-_Templo_de_la_Sagrada_Fam%C3%ADlia,_Barcelona_3.jpg

  8. Phase 1 https://commons.wikimedia.org/wiki/File:Sleeping_baby_cat.jpg

  9. 0 → 1 • 5 months old • 2~3 engineers

    • Startup!
  10. Problem to Solve • Deliver MVP FAST
 to survive

  11. 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/

  12. Architecture for 0→1 • MVA for MVP • DIY tiny

    architecture • &Not so huge Activity, reasonably small • Tightly coupled networking/model/view
  13. 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/

  14. Growing Up • 1~3 years old • 2~5 engineers •

    (Original Members Gone (to other projects)
  15. Problem to Solve • Growth ↗↗↗ • Product requirements increased

    ↗ • A/B testing → code complexity ↗ • +"
  16. Architecture https://ja.wikipedia.org/wiki/%E4%B9%9D%E9%BE%8D%E5%9F%8E%E7%A0%A6#/media/File:Kowloon_Walled_City_199

  17. Architecture • Built on top of Phase 1 architecture •

    ૿ங/վங
  18. Problems • Τϯτϩϐʔͷ૿େ • Classes Getting bigger • ͍ΖΜͳ design

    pattern ͕ࠞࡏ • Getting harder to change • Hard for new members • ➡ ౷Ұ Architecture χʔζͷߴ·Γ
  19. Phase 3 https://commons.wikimedia.org/wiki/File:Northeast_View_in_the_East_Room_during_the_White_House_Renovation-06-21-1951.jpeg

  20. Refactoring+ • ঃʑʹҰ෦ʹϞμϯͳςΫϊϩδʔΛಋೖ • okhttp/RxJava/DI • MVVM • Started off

    with networking layer • ੜଘڝ૪
  21. Phase 4 https://commons.wikimedia.org/wiki/File:Big-bang-explosion-2.jpg

  22. Fork by Region • Problem to Solve • Region ಠࣗͷ

    UI, ࢪࡦΛ͢͹΍࣮͘૷ • ࣌ࠩͷ͋ΔίʔυϨϏϡʔΛ͠ͳ͍
  23. " • +Complete rewrite • MVVM + (Service, Repository) •

    ͱͯ΋Ϟμϯ
  24. !,# • ·ͩڞ௨ Architecture • based on Phase 3 •

    ৽ن࣮૷͸
 MVVM+Rx+DI
  25. http://www.picserver.org/f/future.html

  26. Future • Problem to Solve • Scale: Product / Organization

  27. Architecture https://commons.wikimedia.org/wiki/File:CAPSULE_HOTEL,_TOKYO.jpg

  28. Architecture - • Component based • Project, ਓ͕૿͑ͯ΋ conflict ͠ͳ͍ɺׯব͠ͳ͍

    • Project ͝ͱʹ Component ͕͋ΔΠϝʔδ • Uber RIB ؾʹͳ͍ͬͯΔ • VIPER base, Android / iOS ڞ௨
  29. ͓ΘΓʹ • Startup ʹ࠷దͳ Architecture: phase ͰҟͳΔ • Scale to

    Product / Organization • ·ͩ࠷దղ͸ͳ͍ → ݟ͚ͭΑ͏ • We are hiring
  30. None