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

スタートアップでDDDを始めた時の困難

スー
May 13, 2024
160

 スタートアップでDDDを始めた時の困難

このプレゼンテーションでは、スタートアップ企業でDomain-Driven Design(DDD)を導入する際の困難と、チームの状況に応じてDDDの導入方法をグラデーションをつけて用いる戦略について説明しています。
主な内容は以下の通りです:
会社の概要と自己紹介
DDDの戦略的導入の理由: ドメインの拡大、ドメイン知識不足の新入社員増加
DDDの主要要素(ドメインモデリング、境界付けられたコンテキスト、コンテキスト間の関係、システムの分割・統合)に対するMaxプランとグラデーション導入の比較
グラデーション導入のデメリット
グラデーション導入の全体的なアクション項目のまとめ
結論: チームの状況に合わせてDDDの導入をグラデーションさせる
要約すると、DDDの完全導入は難しいため、チームの状況に応じてグラデーション導入を行い、徐々にDDDの要素を取り入れていくアプローチが提案しています。

スー

May 13, 2024
Tweet

Transcript

  1. 一緒に働いてくれる人を探しています! 1. バックエンドエンジニア(Laravel + DDD) 2. フロントエンドエンジニア(Next.js with TypeScript) 3.

    TechTrain のメンター -> 筋がいい人なら教えたいぜ! 2024-05-13 | スタートアップでDDD を始めた時の困難 5
  2. 前提となるコンテキスト1: ドメインの領域が広いor 複数ある 1. TechTrain( エンジニア教育のプラットフォーム) 2. DirecTrain( ダイレクトリクルーティング) 3.

    AgenTrain( 人材紹介) 3 つの業界をまたがっていると言っても良い。 2024-05-13 | スタートアップでDDD を始めた時の困難 36
  3. システムの分割・結合 これはやってない というかエンジニアを採用できないとできない。 今ドメインの事情が諸々絡み合ってるので、システム自体の分割( 特にバックエン ド) が難しい。 ユースケースを変に統一しないことで割り切っている。 いろんなところで使われるからこそ、どこで誰かと言うところまで分けて定 義している

    システムは分割していないが、その分アプリケーションレイヤーを細かく区 切って誰が何をするのかがわかりやすいようにしている。(戦術が少し入っ てしまうんだけど) サブドメインはやってない ドメインがデカくなった時にしっかり分割を進めていけば、それが自然にサ ブドメインになるんじゃね? またサブドメインを跨ぐと、認知限界を超えてくると考えているので、一旦 2024-05-13 | スタートアップでDDD を始めた時の困難 44