ข้ามไปยังเนื้อหา
แก่น Kaen
ค้นหา
Ctrl
K
ยกเลิก
เลือกธีม
มืด
สว่าง
อัตโนมัติ
Event Storming
ดึงความรู้เรื่องธุรกิจออกจากหัวคนทั้งทีมมาไว้บนผนังเดียวภายในไม่กี่ชั่วโมง — 6 บทเรียน ตั้งแต่ Big Picture ถึง code
เริ่มบทที่ 1
ความคืบหน้า
0 / 6 บทเรียน
เส้นทางการเรียน
หัวข้อที่มีชื่อว่า “เส้นทางการเรียน”
●
01
Event Storming คืออะไร และทำไมต้องใช้
เริ่มตรงนี้
EventStorming
เวิร์กช็อปสำรวจ domain แบบร่วมมือกันทั้งทีม คิดค้นโดย Alberto Brandolini ใช้ Post-it สีส้ม (domain event) แปะบนผนังยาว ๆ เพื่อดึงความรู้จากหัวคนหลายฝ่ายออกมาให้เห็นพร้อมกันภายในไม่กี่ชั่วโมง
Domain Event
สิ่งที่ “เกิดขึ้นแล้ว” และมีความหมายต่อผู้เชี่ยวชาญธุรกิจ เขียนเป็นกริยาอดีต (เช่น OrderPlaced, PaymentCaptured) แทนด้วย Post-it สีส้ม เป็นหน่วยตั้งต้นของ EventStorming ทุกแบบ
○
02
Big Picture Event Storming — สำรวจทั้งสายธุรกิจในห้องเดียว
Big Picture EventStorming
เวิร์กช็อป EventStorming รอบแรกและกว้างที่สุด เชิญคนจากทุกฝ่ายมาระดม domain event ของทั้งสายธุรกิจลงบนไทม์ไลน์เดียว เป้าหมายคือเห็นภาพรวม ค้นพบรอยต่อและจุดที่ยังไม่รู้ ไม่เน้นรายละเอียด
Pivotal Event
domain event สำคัญที่แบ่งไทม์ไลน์ออกเป็นช่วง ๆ (เช่น OrderPlaced, FoodDelivered) มักขีดเส้นแนวตั้งกำกับ ใช้เป็นเบาะแสของขอบเขต bounded context ในภายหลัง
○
03
ไวยากรณ์ของ Post-it — สัญลักษณ์ใน Event Storming
Command
ความตั้งใจหรือการตัดสินใจที่ “สั่งให้เกิด” domain event เขียนเป็นกริยาคำสั่ง (เช่น PlaceOrder) แทนด้วย Post-it สีฟ้า มักมี actor เป็นผู้ลงมือ
Aggregate
กลุ่มของ object ที่ถือกฎความสอดคล้อง (invariant) ไว้ด้วยกัน ใน EventStorming คือ “สิ่งที่รับ command แล้วปล่อย event ออกมา” (เช่น Order, Payment) แทนด้วย Post-it สีเหลืองแผ่นใหญ่
Policy
กฎเชิงปฏิกิริยาแบบ “whenever X → do Y” ที่คอยฟัง event หนึ่งแล้วสั่ง command ต่อโดยอัตโนมัติ (เช่น เมื่อ PaymentCaptured → แจ้งร้านให้กดรับ) แทนด้วย Post-it สีม่วงอ่อน
○
04
Process & Design-Level EventStorming
Design-Level EventStorming
EventStorming รอบเจาะลึกเข้าไปใน bounded context เดียว เพื่อออกแบบระดับที่พร้อมเขียน code โดยเรียงลำดับ command → aggregate → event และ policy อย่างละเอียด
Read Model
ข้อมูล/หน้าจอที่ผู้ใช้ “อ่าน” เพื่อประกอบการตัดสินใจก่อนออก command (เช่น ตะกร้า หน้าติดตามออเดอร์) แทนด้วย Post-it สีเขียว เชื่อมโยงกับฝั่ง Query ของ CQRS
○
05
การจัดเวิร์กช็อป Event Storming
Facilitator
ผู้ดำเนินเวิร์กช็อป คอยตั้งคำถาม รักษาพลังงานกลุ่ม จัดเส้นเวลา และกันไม่ให้วงคุยไหลลงรายละเอียดเร็วเกินไป — บทบาทชี้เป็นชี้ตายของ EventStorming ที่ดี
Hotspot
จุดที่เป็นปัญหา ข้อขัดแย้ง หรือคำถามที่ยังตอบไม่ได้ระหว่างเวิร์กช็อป แทนด้วย Post-it สีแดงวางเฉียง ๆ เก็บไว้กลับมาคุยทีหลังโดยไม่ขัดจังหวะการไหลของกลุ่ม
○
06
จาก Event Storming สู่ Bounded Context และ code
Bounded Context
ขอบเขตที่ model และ ubiquitous language หนึ่งใช้ได้และมีความหมายแน่นอน ใน EventStorming มักค้นพบขอบเขตนี้จาก pivotal event และกลุ่ม event ที่เกาะกลุ่มกัน
Ubiquitous Language
ภาษากลางที่ทีมและผู้เชี่ยวชาญธุรกิจใช้ร่วมกัน EventStorming เป็นเครื่องมือชั้นดีในการ “ขุด” ภาษานี้ออกมา เพราะทุกคำบน Post-it ถูกเถียงและตกลงกันสด ๆ