Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
EventStorming SoftwareDesign as a Cooperative Game
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
98lerr
August 02, 2020
Technology
1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
EventStorming SoftwareDesign as a Cooperative Game
2020.8.2 にモデリング会で EventStorming のうちの ProcessModeling を行った際、参考にした資料です。
98lerr
August 02, 2020
More Decks by 98lerr
See All by 98lerr
AWS Builder Cards Guide ver.2024.03.02
98lerr
3
510
5分でわかった気になるSystemsManager
98lerr
5
1.5k
週次も無理だったチーム内勉強会が 毎日になった話
98lerr
0
1.6k
AWSの基礎を学ぼうで学んだ9種類のDBを勝手にふりかえる
98lerr
2
2k
モデリング会イントロダクション
98lerr
0
270
Other Decks in Technology
See All in Technology
OTel × Datadog で 「AI活用」を計測し、改善に繋げる
shihochan
1
290
現地で盛り上がった WWDC26 Keynote
zozotech
PRO
1
260
2026TECHFRESH畢業分享會 - 原生還是跨平台? App 開發踩坑實錄
line_developers_tw
PRO
0
1.3k
RAG を使わないという選択肢
tatsutaka
1
260
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
2k
AWS Security Hub CSPMの成功・失敗体験
cmusudakeisuke
0
180
日本 Fintech 未来予測レポート 2027〜2028年(オリジナル版)
8maki
0
2.3k
小さく始める AI 活用推進 ― 日経電子版 Web チームの事例/nikkei-tech-talk47
nikkei_engineer_recruiting
0
300
いまさら聞けない「仕様駆動開発入門」 〜AI活用時代の開発プロセスを考える〜
findy_eventslides
2
160
2026 TECHFRESH 畢業分享會 - AI-Native 重塑軟體工程與虛擬講師
line_developers_tw
PRO
0
1.3k
【Snowflake Summit 2026 Recap!!】Snowflake Summit Deep Dive: Security & Governance
civitaspo
1
250
SONiCで構築・運用する生成AI向けパブリッククラウドネットワーク ~実装編~
sonic
0
270
Featured
See All Featured
How to Ace a Technical Interview
jacobian
281
24k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
The Curse of the Amulet
leimatthew05
1
13k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Fireside Chat
paigeccino
42
4k
Optimizing for Happiness
mojombo
378
71k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.4k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
610
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Transcript
Event Storming software design as a cooperative game Modeling-Kai 2020.08.02
現状と今日進めること • 前回やったこと ◦ Big Picture で全体を視覚化した。 ◦ どんな Command
から どんな Event が発生していくかを書き出した。 • 今回やること ◦ Cooperative Game で間のプロセスのモデリングを行う。
Vision から詳細化、そして戻る https://www.slideshare.net/ziobrando/software-design-as-a-cooperative-game-with-eventstorming/83 今日は ここ
今日の進め方 • Big Picture の Events をもとに、Cooperative Game を進める。 •
プロセスの開始から、順に付箋を並べていく。 ◦ Command → Event の 間を埋めていく。 ◦ カラーベースの文法にしたがって、順番に並べる。 • Rush to the Goal. ◦ まずは 1つのHappy Path を通す。複数Pathを並行して進めない。 ◦ 疑問点、分岐は一旦 HotSpot の付箋を置いて進める。
Cooperative Game を使いたくなる状況 • Process Modeling の実施方法 • Big Picture
を書いてみて ◦ そこで見つかる複雑な問題に、明確な答えはない。 ◦ 背景の違うメンバー全員で合意を取るのは難しい。 • 共通のゴールを持ちたい。
Cooperative Game: Model Sessionのやり方 進め方は 3通り (組み合わせOK) • 頭から :
ユーザからのコマンド、または外部ソースのイベントから ◦ わかりやすい、自然なストーリー ◦ 分岐が一番起きやすい。 Rash to the Goal が大事かも。 • 後ろから : Event + People + Value から戻る ◦ 無駄がない ◦ 経験がいる、結果が明確である必要がある。 • ごちゃごちゃに : イベント周りのブレストから。 ◦ 現状の矛盾を出しやすい、議論がなければスケルトンを作りやすい。 ◦ 議論が暴走しやすい。散らかる。
Rush to the Goal 1. まずは最短ルートのゴールへの道筋を声に出していう。 2. 異論をキャプチャして、ホットスポットとして挙げる。 a. 代替パスをホットスポットとして全て挙げる。
b. とにかく一つゴールに向かう。 c. 終わったら、ホットスポットを一つ 選んで再度行う。 https://www.slideshare.net/ziobrando/software-design-as- a-cooperative-game-with-eventstorming/53 https://www.slideshare.net/ziobrando/software-design-as- a-cooperative-game-with-eventstorming/56
Game Rules: Cooperative Game ルールは4つ。(Software Design まで入ると、5つ目が増える) 1. 全てのプロセスパスが完了する 2.
カラーベースの文法に則っている 3. 全てのステークホルダーが合理的に満足している 4. 全てのホットスポットに対処できている。 5. アグリゲートが一貫している。
プロセスパスが完了するとは? • ビジネスプロセスは、一連ステップだけでは終わらない ◦ 最終的にメインストリームに戻るものもある。 ◦ 異なる終了条件で終了するものもある。 • プロセスのあるべき姿 ◦
開始: 与えられたトリガー(Command あるいは 外部Event) ◦ 終了: Eventと Model の組み合わせ ▪ Event: System Happy (これ以上やることない) ▪ Model: User Happy (終わったと認識できてる) • People + Value で表現 ◦ 「可能な限り幸せ」な状態で終わる。 ▪ 例: キャンセルは全員にとっての完全な幸せでないが、可能な限りの幸せ。
カラーベースの文法 1:やること • 大きくは以下を実施していく。 ◦ 青色(Command)とオレンジ(Event)の間に、ピンク(System) を置く ◦ オレンジ(Event) と
青色 (Command) の間に、薄紫色(Policy) を置く https://www.slideshare.net/ziobrando/software-design-as-a-cooper ative-game-with-eventstorming/40 https://www.slideshare.net/ziobrando/software-design-as-a-cooper ative-game-with-eventstorming/67
カラーベースの文法 2:色見本 https://www.slideshare.net/ziobrando/software-design-as-a-cooperative-game-wit h-eventstorming/40 青: Command オレンジ: Event ピンク: System
薄紫色: Policy 緑色: Read Model 黄色: People 蛍光ピンク: Hot Spot (紫) (45°傾ける) ----------------- 赤/緑の小さい付箋: Values 薄黄色: Aggregate https://baasie.com/2020/07/16/eventstormin g-core-concepts-glossary-and-legend/
カラーベースの文法 3:付箋の補足(Event) [Event] 常に以下4つの状況の結果 トリガー ユーザインタラクション ユーザ起点。Command, System が手前にくる。 複数イベントがトリガーされることもある。
外部システム センサーとか。一定間隔サンプルとかなら、時間トリガー。 時間 分周期のタイマーとか、1日の終わりにとかタイムアウトとか。 特殊ケースがあるなら、ポリシーでカバーする。 カスケード あるイベントが起きると、このイベントもというようなもの。 間にポリシーなどが挟めるかもしれない。
カラーベースの文法 4:付箋の補足(Command, People) [Command] • システムで起こっているアクション。ユーザの意思決定。 • 呼び方はチームで。Action でも Intention
でも。 • コマンドは完了を意味しない。 [People] • まずは何かをする人を表す。利用者も、内部ユーザも。 • 異なるタイプの人、異なるステップで分けるのが有効なこともある。 ◦ 通勤目的の切符購入、休暇目的の切符購入。 ◦ モデルに欠陥が出てきたとき、差別化する対応はよくある。
カラーベースの文法 5:付箋の補足(System, ReadModel) [System] • 一般化して書くのはよくない。明示的にする。 ◦ Social Media <
Twitter, Facebook (代表的なものを書く) • 対話型システムの場合、横に長くなって行きがち。 ◦ Systemの後ろにEventを並べることがおすすめ。対話結果を重視する。 [ReadModel] • 与えられた決定を行うために必要な情報。 Event 1 System Event 2 Event 3
カラーベースの文法 6:付箋の補足(Policy) [Policy] • イベントに対するリアクション。 ◦ 暗黙的に行われるもの ◦ 明示的に行われるもの ◦
自動対応 • イベントとコマンドの間にはなくてはならないもの。 ◦ 明白すぎて気付きにくいこともあるが、2つの間には常にビジネス上の意思決定がある。 • 名前に時間をかけすぎないつけなくてもいい。 ◦ 何をするか、まずは実施することを声に出す。それでも名前が決まらないこともある。 • 嘘が多く混ざる場所。 ◦ ポリシー通りの実態があるとは限らない。 ◦ 議論の余地のあるトピックが多くある。 • 「いつも」「すぐ」と合わせて読む。 ◦ コーナーケースが見えてくる。
カラーベースの文法 7:付箋の補足(Value, Hotspots) [Value] • それぞれのStep で作られる、または削除される。 ◦ わかりやすいのはお金 ◦
なんらかの機会、不一致状況。時間、ストレス、満足。 • 原書だと2020.8.2時点では記述なし。 [HotSpots] • 矛盾、おかしいところ、質問を書く。 • Rush to the Goal を使って一つずつ解決していく。(次のステップ) People :( People :)
Model Session 中盤の対処 • 目に見えないものは口にしない。 • Rush to the Goal.
参考 • Introducing EventStorming ◦ https://leanpub.com/introducing_eventstorming • Software design as
a cooperative game with EventStorming ◦ スライド: https://www.slideshare.net/ziobrando/software-design-as-a-cooperative-game-with-eventstorming ◦ 動画: https://www.youtube.com/watch?v=awyMC9PZNfc (AgileByExample 2019) • 新しいモデリング手法: EventStorming (イベントストーミング) をはじめるための準備 ◦ https://yoskhdia.hatenablog.com/entry/2018/11/09/200556 • EventStorming; Core concepts, glossary and legend ◦ https://baasie.com/2020/07/16/eventstorming-core-concepts-glossary-and-legend/