イベントストーミング
show-event
コマンドを使って、workflow.ymlからイベントストーミング図(Mermaid形式)を生成できます。
イベントストーミングとは
イベントストーミングは、ビジネスプロセスを時系列のイベントとして可視化する手法です。ドメインの全体像を把握し、関係者間の共通理解を形成するのに役立ちます。
図の生成
/teamkit:show-event YourFeature
.teamkit/YourFeature/eventstorming.md
にMermaid形式の図が生成されます。
図の要素
| 要素 | 色 | 説明 |
|---|---|---|
| ピボタルイベント | 青(太枠) | 重要なマイルストーンとなるイベント |
| イベント | オレンジ | ドメインイベント(○○が発生した) |
| アクター | 黄色 | ユーザーや役割 |
| 集約 | 薄黄色 | エンティティの状態管理単位 |
| ポリシー | 紫 | イベントに対する自動的な反応ルール |
| 外部システム | ピンク | 外部システムとの連携 |
図の形式
生成される図は左から右への時系列タイムラインで、ビジネスプロセスの流れを表現します。要素はタイプ別ではなく、時系列に沿って配置されます。
graph LR
A[アクター: 施設管理者] --> B[施設が登録された]
B --> C[部屋タイプが設定された]
C --> D[ポリシー: 自動通知]
workflow.yml との関係
show-event は workflow.yml
の以下のセクションから情報を抽出します。
| workflow.yml のセクション | イベントストーミングの要素 |
|---|---|
actor |
アクター |
external_system |
外部システム |
aggregate |
集約 |
workflow[].steps[].event |
イベント、ピボタルイベント |
workflow[].steps[].policy |
ポリシー |
出力ファイル
生成される
eventstorming.md には以下が含まれます。
- Mermaid形式の図(
graph LR) - 凡例(各要素の色と意味)
- アノテーション(補足説明)
Mermaid図の表示方法
GitHub
GitHubではMermaidコードブロックがそのままレンダリングされます。eventstorming.md
をリポジトリにプッシュすれば、GitHub上で図を確認できます。
VS Code
Markdown Preview Mermaid Support 拡張機能をインストールすると、VS Codeのプレビューで図を表示できます。
Mermaid Live Editor
Mermaid Live Editor にコードを貼り付けて、ブラウザ上で図を確認・編集できます。
活用例
要件定義の初期段階
workflow.yml を作成した直後に
show-event
を実行し、ビジネスプロセスの全体像を確認します。イベントの流れに不自然な点があれば、workflow.yml
を修正します。
ステークホルダーとの共有
生成されたMermaid図をドキュメントやプレゼンテーションに組み込み、ビジネスプロセスの共通理解を形成します。
設計レビュー
イベントストーミング図をもとに、イベントの粒度やポリシーの妥当性をレビューします。