今天跟朋友去聽了場 Event Storming 的分享,回家趕快查點資料補一下。如此如此這般這般,今天要轉貼的是這篇:

Event Storming Part 1 - 簡介與事前準備 - Think in Domain-Driven Design

既然這篇文章有 Part 1 的字眼,當然就還有後面幾篇。這邊也一併附上來(我之後要回來查資料也比較好查):

看起來 Event Storming 是個揪團一起貼便利貼的歡樂活動,還能幫助團隊從彼此的視角找出盲點、建立共識等等

大家先自由地把事件(Event)貼出來,讓我感到比較新奇的是在於事件要用過去式來寫,身為一個平常用詞很模糊(?)的人,覺得這看法蠻有道理:

根據 Alberto Brandolini 本人的敘述,使用過去式代表著系統的狀態。如果你今天使用的是「註冊」這類詞時,你代表的是一個流程。相對的,用「註冊已開始」、「註冊已完成」會有更好的清晰度且顆粒度,避免過度設計。

然後大家嘗試從一條路徑(通常從 Happy path 開始)把事件串成一組故事,過程中也會請領域專家重新整理順序,在這過程中對焦彼此的理解:

這個過程中,大家可以發現不管是團隊間還是個人間對於同一份商業流程的理解有多麼的不同

而在領域專家整理時,也可以讓大家知道哪些 Event 重要哪些不是我們需要關注的,加深大家對於系統責任邊界的了解。

第三輪的時候讓大家按讚跟標出問題,針對問題進行討論;第四輪再加上 Command(使用者或軟體所做出的決定,例如 買早餐 Command -> 已經買早餐 Event)、發出 Command 的角色、外部系統…等等。這整段讓我有種把故事越補越完整的感覺,也許還會讓團隊產生一種協作的成就感?

最後兩篇則提了從 Event Storming 到軟體建模,以及列了一些可能會翻車的問題(例如變成個人秀、突然噴一堆技術細節等等)。

但因為我沒跑過,只能先看過記錄下來:( ,比較不像前兩篇有 wow! 的感覺。

如果有跑過的朋朋能分享,或是丟更多資訊上來,我會跟你說聲甘溫

暫時先把上面的文章存了下來,哪天前輩要玩的時候也許會用到),順手也把這幾篇香香的文章轉貼上來,有興趣的朋朋可以再進去看看。

那麼,今天的轉貼就到這邊,明天見~


延伸閱讀: