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

スタートアップにおける、チーム拡大を見据えたコンポーネント分割の取り組み

Ryunosuke Iwai
November 21, 2023

 スタートアップにおける、チーム拡大を見据えたコンポーネント分割の取り組み

@技術的負債に向き合うOnline Conference
https://findy.connpass.com/event/297813/

Ryunosuke Iwai

November 21, 2023
Tweet

More Decks by Ryunosuke Iwai

Other Decks in Technology

Transcript

  1. 株式会社メルカリ Microservices Platform CI/CD @ryuke 岩井 ⿓之介 Cloudbase株式会社 Scanner &

    Platform チーム Go / terraform / Datadog 前職 現在 SNS https://twitter.com/i_ryuke
  2. Team Topologies • コンウェイの法則 = ソフトウェアアーキテク チャと組織構造の間には「同型⼒」が働く • ソフトウェアの⾃然な境界 =

    節理⾯ でチームを分割する マシュー・スケルトン (著), マニュエル・パイス (著), 原田 騎郎 (翻訳), 永 瀬 美穂 (翻訳), 吉羽 龍太郎 (翻訳)『チームトポロジー 価値あるソフト ウェアをすばやく届ける適応型組織設計』日本能率協会マネジメントセン ター, 2021
  3. システムの要素を整理する 取得 分析 保存 表示 インフラ Step Functions Step Functions

    Step Functions ECS Service + Vercel 言語 Go Go NodeJS NodeJS ドメイン クラウド セキュリティ SaaS SaaS 関心事 データの正確性 データの正確性 データの正確性 顧客体験 変更のケイデン ス 低速 (機能開発的) 低速 (機能開発的) 低速 (機能開発的) 高速 (仮説検証的)
  4. システムの要素を整理する 取得 分析 保存 表示 インフラ Step Functions Step Functions

    Step Functions ECS Service + Vercel 言語 Go Go NodeJS NodeJS ドメイン クラウド セキュリティ SaaS SaaS 関心事 データの正確性 データの正確性 データの正確性 顧客体験 変更のケイデン ス 低速 (機能開発的) 低速 (機能開発的) 低速 (機能開発的) 高速 (仮説検証的)
  5. システムの要素を整理する 取得 分析 保存 表示 インフラ Step Functions Step Functions

    Step Functions ECS Service + Vercel 言語 Go Go NodeJS NodeJS ドメイン クラウド セキュリティ SaaS SaaS 関心事 データの正確性 データの正確性 データの正確性 顧客体験 変更のケイデン ス 低速 (機能開発的) 低速 (機能開発的) 低速 (機能開発的) 高速 (仮説検証的) Scanner Application
  6. よく⾒ると...? 取得 分析 保存 表示 インフラ Step Functions Step Functions

    Step Functions ECS Service + Vercel 言語 Go Go NodeJS NodeJS ドメイン クラウド セキュリティ SaaS SaaS 関心事 データの正確性 データの正確性 データの正確性 顧客体験 変更のケイデン ス 低速 (機能開発的) 低速 (機能開発的) 低速 (機能開発的) 高速 (仮説検証的) Scanner Application
  7. よく⾒ると...? 取得 分析 保存 表示 インフラ Step Functions Step Functions

    Step Functions ECS Service + Vercel 言語 Go Go NodeJS NodeJS ドメイン クラウド セキュリティ SaaS SaaS 関心事 データの正確性 データの正確性 データの正確性 / 顧客体験 顧客体験 変更のケイデン ス 低速 (機能開発的) 低速 (機能開発的) 低速 (機能開発的) 高速 (仮説検証的) Scanner Application
  8. 得られた結果 • 現在はまだ「1. 中の実装だけを分割」の状態 😄 ロジックのオーナーシップが整理された 😄 DBより⼿前の段階でデータを検証できるようになった 😄 インターフェースを切ったことで、期待される出⼒が明確になった

    • 「切り込み」に留めておくことで、変化に柔軟に対応できる形に ◦ インターフェースを調整しながら固めていける、⼿戻りしやすい ◦ データの不整合といった難しい問題に対処せずに済む