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

イベントストーミングをやってみてどうだった? 〜カート決済リプレイスでの実践と振り返り〜

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

 イベントストーミングをやってみてどうだった? 〜カート決済リプレイスでの実践と振り返り〜

2026/09/03 開催の「イベントストーミング実践事例 ―業務理解から機能改善、大規模リプレイスまで」で発表した資料です。
https://findy.connpass.com/event/402629/

株式会社ZOZO
EC基盤開発本部
カート決済部 カート決済基盤ブロック
三浦 史也

#eventstorming_findy

Avatar for ZOZO Developers

ZOZO Developers PRO

September 03, 2026

More Decks by ZOZO Developers

Other Decks in Technology

Transcript

  1. https://zozo.jp/ • ファッションEC • 1,700以上のショップ、11,000以上のブランドの取り扱い • 常時138万点以上の商品アイテム数と毎日平均3,100点以上の新着 商品を掲載(2026年6月末時点) • ブランド古着のファッションゾーン「ZOZOUSED」や

    コスメ専門モール「ZOZOCOSME」、シューズ専門ゾーン 「ZOZOSHOES」、ラグジュアリー&デザイナーズゾーン 「ZOZOVILLA」を展開 • 即日配送サービス • ギフトラッピングサービス • ツケ払い など © ZOZO, Inc. 3
  2. イベントストーミングを実施した背景 プロジェクト概要 • 参加メンバー ZOZOTOWNのカート・決済領域を • 既存メンバー:3名 大規模リプレイス • 新規参画メンバー:4名

    • Classic ASPからJava へ移行 • モジュラモノリスを採用 既存メンバーと新規参画メンバーが混在し ドメイン知識や既存システムへの理解度に差がある状況だった © ZOZO, Inc. 4
  3. 『Introducing EventStorming』を参考に、一部省略して実施 1 ドメインイベントの洗い出し 2 イベントを時系列に並べる 3 カラーパズル※Hot Spot /

    ポリシーは省略 ベースとした実践ガイド 『Introducing EventStorming』 4 集約・コンテキスト境界を定める Alberto Brandolini 著 実際にやったこと・省略したことと、その判断理由を紹介します © ZOZO, Inc. 6
  4. Hot Spotを省略した理由 全体像の理解を優先 • 業務ルールや外部連携が多く、疑問点を 洗い出すと時間がかかる • 今回はカート・注文フローの全体像を把 既存解析と役割が重複していた •

    仕様・コードの解析を別途並行していた • Hot Spotを出しても結局、既存解析が 必要になる 握することを優先 カート/注文フローの全体像を把握することを優先 © ZOZO, Inc. 10
  5. やったこと③ カラーパズル ドメインイベントを起点に、コマンド・集約・外部システムを色分けして肉付けする 何をする(Command) 商品を 追加する データとルール(Aggregate) 結果(Domain Event) カート

    カートに 追加した 外部システム(External) 在庫管理 システム ※マイクロサービス この整理が、後の集約・コンテキスト境界の検討材料になる © ZOZO, Inc. 11
  6. Read Modelが活用できなかった理由 Read Modelで得られるもの • コマンドを起こす際に参照する情報の 可視化 • 情報や前提の整理によるドメイン理解 活用が限定的だった要因

    • 仕様・コードの解析との役割重複 • 今回重視した全体像の把握やコンテキス ト境界の検討への直接的な寄与の少なさ ドメイン理解にはつながったが、今回の目的への活用は限定的だった © ZOZO, Inc. 15
  7. やってみて見えた課題と、その解決策 業務視点 vs システム視点 • 実装上の出来事をドメインイベントとし て扱ってしまう ◦ ◦ •

    ×:決済APIが呼ばれた ⚪:与信が承認された • 洗い出したドメインイベントは約150個 • 時系列に整理して全体像を整理するだ けでも相当な時間がかかる コード/DBの知識に引っ張られる ◦ ◦ ×:販売フラグがOFFになった ⚪:商品が販売停止になった 業務として意味のある出来事か? を常に問い直す © ZOZO, Inc. 対象領域の大きさ Hot Spot/ポリシーを省略し 深掘りする範囲を絞る 19
  8. イベントストーミングをやってみて良かったこと • • 既存解析のハードル低下 ◦ 約66,000ステップある既存システムを対象に解析 ◦ イベントストーミングで業務フローの全体像を整理 ◦ 両方を並行して進めることで、機能の役割をイメージしながら解析できた

    モジュール分割の重要な意思決定に活用 ◦ 将来的なマイクロサービスへの切り出しも見据えた分割が必要 ◦ イベントストーミングで整理したコンテキスト境界をモジュール境界に反映 イベントストーミングで全体像とモジュール境界を定め、詳細は既存解析で補完することで リプレイスを円滑に進められた © ZOZO, Inc. 20
  9. まとめ “全部やる”より、目的を決めて使う イベントストーミングの主な目的 ドメイン知識の 共有と獲得 ビジネスプロセスの 全体像の可視化 ホットスポットや隠れた 問題の早期発見 ソフトウェア設計

    (特にDDD)への活用 イベントストーミングで“何を得たいのか”を決める その目的に合わせて、やること・深掘りする範囲を選ぶ © ZOZO, Inc. 22