進行事件風暴會議的指南

已發表: 2021-07-20

全面了解業務系統是一項艱鉅的工作。 它通常涉及高級建模或複雜的過程映射。 這可能是一個技術含量高且費力的過程,涉及大量的反複試驗。 創建 BPMN 圖或 UML 圖對於理解業務的更廣泛功能非常有用,但它們本質上是技術性的,可能會排除非技術領域專家。

領域驅動設計

領域驅動設計是一種方法,它建立了一種獨立於技術的語言,允許詳細了解業務需求和流程。 這允許利益相關者以與語言無關的方式將他們的領域知識傳達給團隊的其他成員,以形成對系統的共同理解。

什麼是事件風暴?

事件風暴是一種基於研討會的領域驅動設計方法,它將技術和非技術利益相關者聚集在一起以探索複雜的業務領域。 它側重於在業務流程或業務應用程序的上下文中生成的領域事件。 它通常涉及產品所有者、領域專家和開發人員。

事件風暴方法由 Alberto Brandolini 在 Introducing EventStorming 中介紹和宣傳。 它被用作一種快速捕獲解決方案設計並提高團隊對設計的理解的技術。

事件風暴是小組學習的一種形式,是一種整合開發和產品團隊以共同創建替代解決方案的有趣方式。 事件風暴也可能對擁有成熟產品的團隊有用,以訂購流程並找出瓶頸和衝突領域。

事件風暴會議通常用於:

  • 為項目開發創建商業模式。
  • 了解產品模型的所有復雜性,突出其目標和需求。
  • 可視化產品模型並集思廣益替代解決方案。
  • 發現成熟產品的瓶頸和衝突領域。

事件風暴的好處

在構建產品時,開發團隊精通產品運行的業務領域非常重要。它允許更清晰的初始分析和更集中的構建。 像事件風暴會議這樣的研討會可以促進業務和產品團隊之間的整體合作。

快速:大多數其他業務流程建模技術都是對業務運營的深入研究。 它們涉及使用複雜的數據模型,並且可能需要數週時間才能描繪出準確的畫面。 事件風暴是一種快速建模領域驅動設計的方法。 事件風暴通常是一個單日事件,可以在幾個小時內映射完整的業務流程。

技術和非技術利益相關者之間的共同理解:與 UML 不同,事件風暴創建了業務流程的表示,無需任何先驗技術知識即可輕鬆理解。

協作:事件風暴的核心概念是鼓勵領域專家之間的參與和互動。 它創造了一個引人入勝的環境來創建業務模型並導致發現更有價值的見解。

有效:事件風暴的最大好處是它開始的對話。 團隊可以使用在研討會中獲得的知識來為未來的建模流程和構建產品提供信息,或者可以簡單地使用事件風暴來更好地理解業務流程並做出更好的決策。

舉辦活動風暴

要進行事件風暴,您需要將具有特定領域專業知識的各種利益相關者聚集在一起。 這可以在物理位置完成,也可以使用 Creately 等協作白板工具虛擬完成。 它允許您在單個無限畫布上遠程進行整個會話,並且可以用作利益相關者可以實時交流想法和想法的共享空間。

第 1 步:領域事件

第一步是識別領域事件。 它們是關於業務系統中發生的事情的事實陳述。 參與者集思廣益並列出系統中發生的所有觸發重要反應的事情。 然後他們將這些事件列為虛擬畫布上的彩色註釋。 重要的是用過去時來表達這些陳述,以便參與者可以將其框定為“發生了什麼”陳述。 當參與者將事件添加到畫佈時,您可以開始根據事件發生的時間範圍來組織它們。

領域事件示例

第 2 步 - 命令

下一步是確定事件發生的原因。 在這個階段,團隊分析觸發事件的原因。 雖然事件是關於過去的事實陳述,但命令表達了我們對未來發生某事的意圖。 命令通常列在藍色註釋上。 雖然事件被捕獲為過去時陳述,但命令被列為現在時意圖。 命令可以記錄為用戶和系統操作。

用於協作域設計的事件風暴模板
事件風暴模板(點擊模板在線編輯)

第 3 步 - 聚合

這些是系統中發生的事情,通常發生在一組事件中。 它們是應表示為名詞的高階業務實體。

例如,“訂單流程”。 聚合通常由畫布上的一組筆記組成。

它由具有相應命令和責任參與者的事件集群表示。 然後可以命名該聚合併將其放置在畫布上更大的顏色協調註釋上。

第 4 步 - 限界上下文

這是一個高級結構,由將相關實體組合在一起的功能分類組成。 團隊開始通過在相關模塊周圍繪製一個框或圓圈,將模塊組合在一個稱為有界上下文的元素中。 然後,您可以通過說明有界上下文中的模塊如何與其他上下文交互來開始上下文映射。 簡而言之,所有相關事件都將落入相同的有界上下文中。 例如,與購物車相關的所有事件都將落入購物車有界上下文中。

有界上下文的事件風暴會話
有界上下文的事件風暴模板(點擊模板在線編輯)

舉辦活動風暴會議的技巧

  • 參與者:成功的活動風暴的關鍵方面是組織合適的人員。 參與者應由具有跨多個領域的領域專業知識的關鍵利益相關者組成。 一場有效的事件風暴通常由一小部分利益相關者組成,以確保自由流動的對話和協作環境。
  • 計劃會議:為會議設定目標和意圖。 這使您可以更專注於會話中應該涉及的內容以及應該忽略的方面。
  • 提前發送說明:讓參與者了解練習的重點和對他們的期望。 發送有關密鑰是什麼以及不同顏色的註釋代表什麼的說明,以便參與者在進行會話時有一個清晰的理解
  • 以非技術語言進行討論:確保對話不會因實施細節而陷入困境。 這些對話本質上應該更具概念性,以便每個人都可以參與,無論他們的技術背景如何。
  • 提供示例:展示完整的活動風暴畫布很有幫助,這樣參與者就知道他們需要做什麼。

有舉辦事件風暴會議的經驗嗎? 告訴我們關於它。

您以前是否參加過或舉辦過活動風暴會議,我們很想听聽您的經歷以及您從中學到的一些知識。 在評論部分讓我們知道您的想法。