ข้าม​ไป​ยัง​เนื้อหา

การ​จัด​เวิร์กช็อป Event Storming

ห้า​บท​ที่​ผ่าน​มา​เรา​คุย​กัน​เรื่อง “สัญลักษณ์” และ “ไวยากรณ์” ของ EventStormingEventStormingเวิร์กช็อป​สำรวจ domain แบบ​ร่วมมือ​กัน​ทั้ง​ทีม คิดค้น​โดย Alberto Brandolini ใช้ Post-it สี​ส้ม (domain event) แปะ​บน​ผนัง​ยาว ๆ เพื่อ​ดึง​ความ​รู้​จาก​หัว​คน​หลาย​ฝ่าย​ออก​มา​ให้​เห็น​พร้อม​กัน​ภายใน​ไม่​กี่​ชั่วโมงProcess มา​เยอะ​แล้ว แต่​ความ​จริง​ข้อ​หนึ่ง​ที่ Brandolini ย้ำ​เสมอ​คือ เวิร์กช็อป​ที่​ล้มเหลว​ส่วน​ใหญ่​ไม่​ได้​ล้ม​เพราะ​คน​เข้าใจ​สัญลักษณ์​ผิด — มัน​ล้ม​เพราะ “การ​จัด​วง” ไม่​ดี ผิด​คน​มา​ประชุม พลังงาน​ตก ลง​รายละเอียด​เร็ว​เกิน​ไป หรือ​มี​คน​คน​เดียว​ยึด​ปากกา​ไว้​คน​เดียว บท​นี้​คือ​คู่มือ​ภาค​ปฏิบัติ: เตรียม​ยังไง ดำเนิน​ยังไง และ​จะ​กัน​กับดัก​ที่​ทำให้​วง​พัง​ได้​อย่างไร

ใคร​ต้อง​อยู่​ใน​ห้อง — “คน​ที่​มี​คำถาม เจอ​คน​ที่​มี​คำ​ตอบ”

หัวข้อ​ที่​มีชื่อ​ว่า “ใคร​ต้อง​อยู่​ใน​ห้อง — “คน​ที่​มี​คำถาม เจอ​คน​ที่​มี​คำ​ตอบ””

หัวใจ​ของ Event Storming สรุป​ได้​เป็น​ประโยค​เดียว: เอา​คน​ที่​มี​คำถาม​มา​เจอ​คน​ที่​มี​คำ​ตอบ ใน​ห้อง​เดียวกัน เวลา​เดียวกัน ถ้า​ขาด​ฝั่ง​ใด​ฝั่ง​หนึ่ง เวิร์กช็อปก็​ไร้​ความหมาย​ทันที

  • Domain expert ตัว​จริง — คน​ที่​ทำงานนั้นจริงๆ รู้​ว่า​เคส​ประหลาด​เกิด​ตอน​ไหน รู้​ว่า​อะไร​พัง​บ่อย นี่​คือ​คน​ที่ “ขาด​ไม่​ได้” ที่สุด ถ้า​ไม่มี expert ตัว​จริง สิ่ง​ที่​ได้​จะ​เป็น​แค่ “การ​เดา​ของ​ทีม dev” ไม่ใช่​ความ​รู้​ของ domain
  • นัก​พัฒนา (dev) — คน​ที่​มี​คำถาม เพราะ​สุดท้าย​ต้อง​แปล​ความ​เข้าใจ​นี้​เป็น​ระบบ​จริง
  • PO / UX / คน​ออกแบบ​บริการ — ช่วย​เชื่อม​มุม​ธุรกิจ​กับ​มุม​ผู้​ใช้ และ​ช่วย​จับ โอกาสOpportunityจุด​ที่​มอง​เห็น​โอกาส​ปรับปรุง​หรือ​สร้าง​คุณค่า​ใหม่​ระหว่าง​สำรวจ domain มัก​ใช้​คู่​กับ hotspot (ปัญหา) เพื่อ​ให้​เวิร์กช็อป​เห็น​ทั้ง​ความ​เสี่ยง​และ​โอกาสProcess ที่​โผล่​ระหว่าง​ทาง

ขนาด​กลุ่ม​ที่​เหมาะ​กับ Big Picture EventStormingBig Picture EventStormingเวิร์กช็อป EventStorming รอบ​แรก​และ​กว้าง​ที่สุด เชิญ​คน​จาก​ทุก​ฝ่าย​มาระดม domain event ของ​ทั้ง​สาย​ธุรกิจ​ลง​บน​ไทม์​ไลน์​เดียว เป้าหมาย​คือ​เห็น​ภาพ​รวม ค้น​พบ​รอย​ต่อ​และ​จุด​ที่​ยัง​ไม่รู้ ไม่​เน้น​รายละเอียดProcess อยู่​ราว 6–10 คน มากกว่า​นั้น​วง​จะ​คุม​ยาก​และ​บาง​คน​จะ​กลาย​เป็น​ไม้​ประดับ น้อย​กว่า​นั้น​มุมมอง​ก็​ไม่​หลาก​พอ เคล็ด​ลับ​ของ Brandolini คือ​เชิญ​คน​จาก “หลาย​แผนก​ที่​ปกติ​ไม่​ค่อย​ได้​คุย​กัน” เพราะ​รอย​ต่อ​ระหว่าง​แผนก​มัก​เป็น​ที่​ซ่อน​ของ​ความ​เข้าใจ​ผิด​ที่​แพง​ที่สุด

🍔 ตัว​อย่างฟู้ด​เดลิ​เวอรี: ใคร​ควร​อยู่​ใน​วง

ถ้า​จะ storm ระบบ​สั่ง​อาหาร​เดลิ​เวอรี คนใน​ห้อง​ควร​มี​ทั้ง คน​ดูแล​ฝั่ง​ร้าน​อาหาร (รู้​ว่า​ทำไม​ร้าน​บาง​ร้าน​ไม่​กด​รับ​ออเดอร์), คน​ดูแล​ไร​เด​อร์ (รู้​ว่าการ​จ่าย​งาน​จริง​ติดขัด​ตรง​ไหน), ทีม​ชำระ​เงิน (รู้​เคส​คืน​เงิน) และ dev ที่​จะ​สร้าง​ระบบ พอ​ทุก​ฝ่าย​มา​ยืน​หน้า​กระดาษ​เดียวกัน คำถาม​อย่าง “ยกเลิก​หลัง​จ่าย​เงิน​แล้ว​คืน​เงิน​ยังไง?” จะ​โผล่​ทันที — และ​นั่น​คือ​ทองคำ

Event Storming เป็น​กิจกรรม​ที่​ใช้​ร่างกาย ไม่ใช่​แค่​สมอง วัส​เห​มือ​นึง​ถูก​ออกแบบ​มา​เพื่อ “ปลด​ล็อก​พื้นที่​คิด” ให้​ไม่​จำกัด

  • กระดาษ​ม้วน​ยาว​ติด​ผนัง (unlimited modeling surface) — นี่​คือ​กฎ​ที่​สำคัญ​กว่า​ที่​คิด กระดานไวท์บอร์ด​มี​ขอบ พอ​เต็ม​คน​จะ​เริ่ม “ลบ​ของ​เก่า​ทิ้ง” ซึ่ง​ฆ่า​ความคิด กระดาษ​ยาว 5–8 เมตร​บอก​กับ​ทุก​คน​เป็น​นัยว่า “มี​ที่​พอ​เสมอ เขียน​มา​เลย”
  • Post-it หลาย​สี — ตาม​ชุด​สัญลักษณ์​ที่​เรา​วาง​ไว้: ส้ม = Domain EventDomain Eventสิ่ง​ที่ “เกิด​ขึ้น​แล้ว” และ​มี​ความหมาย​ต่อ​ผู้เชี่ยวชาญ​ธุรกิจ เขียน​เป็นกริยา​อดีต (เช่น OrderPlaced, PaymentCaptured) แทน​ด้วย Post-it สี​ส้ม เป็น​หน่วย​ตั้งต้น​ของ EventStorming ทุก​แบบTactical Design, ฟ้า = CommandCommandความ​ตั้งใจ​หรือ​การ​ตัดสิน​ใจ​ที่ “สั่ง​ให้​เกิด” domain event เขียน​เป็นกริยา​คำ​สั่ง (เช่น PlaceOrder) แทน​ด้วย Post-it สี​ฟ้า มัก​มี actor เป็น​ผู้​ลงมือTactical Design, เหลือง = ActorActorคน/บทบาท​ที่​ออก command (เช่น ลูกค้า ร้าน​อาหาร ไร​เด​อร์) แทน​ด้วย Post-it สี​เหลือง​แผ่น​เล็ก​แปะ​มุม​ของ command ช่วย​ตอบ​ว่า “ใคร​เป็น​คน​ทำ”Process และ AggregateAggregateกลุ่ม​ของ object ที่​ถือ​กฎ​ความ​สอดคล้อง (invariant) ไว้​ด้วย​กัน ใน EventStorming คือ “สิ่ง​ที่​รับ command แล้ว​ปล่อย event ออก​มา” (เช่น Order, Payment) แทน​ด้วย Post-it สี​เหลือง​แผ่น​ใหญ่Tactical Design, ม่วง = PolicyPolicyกฎ​เชิง​ปฏิกิริยา​แบบ “whenever X → do Y” ที่​คอย​ฟัง event หนึ่ง​แล้ว​สั่ง command ต่อ​โดย​อัตโนมัติ (เช่น เมื่อ PaymentCaptured → แจ้ง​ร้าน​ให้​กด​รับ) แทน​ด้วย Post-it สี​ม่วง​อ่อนProcess, เขียว = Read ModelRead Modelข้อมูล/หน้า​จอ​ที่​ผู้​ใช้ “อ่าน” เพื่อ​ประกอบ​การ​ตัดสิน​ใจ​ก่อน​ออก command (เช่น ตะกร้า หน้า​ติดตามออเดอร์) แทน​ด้วย Post-it สี​เขียว เชื่อม​โยง​กับ​ฝั่ง Query ของ CQRSTactical Design, ชมพู = External SystemExternal Systemระบบ​ภายนอก​ที่​เรา​ไม่​ได้​ควบคุม​แต่​ต้อง​คุย​ด้วย (เช่น Payment Gateway, บริการ​แจ้ง​เตือน, แผนที่) แทน​ด้วย Post-it สีชมพู ช่วย​ชี้​จุด​เชื่อม​ต่อ​และ​ความ​เสี่ยงArchitecture, แดง = HotspotHotspotจุด​ที่​เป็น​ปัญหา ข้อ​ขัดแย้ง หรือ​คำถาม​ที่​ยัง​ตอบ​ไม่​ได้​ระหว่าง​เวิร์กช็อป แทน​ด้วย Post-it สี​แดง​วาง​เฉียง ๆ เก็บ​ไว้​กลับ​มา​คุย​ทีหลัง​โดย​ไม่​ขัดจังหวะ​การ​ไหล​ของ​กลุ่มProcess เตรียม สี​ส้ม​ไว้​มาก​ที่สุด เสมอ เพราะ event คือ​สิ่ง​ที่​จะ​เกิด​เยอะ​ที่สุด และ​เรา​อยาก​ให้​ทุก​คน​เริ่ม​จาก​การ​ยิง event ออก​มา​รัวๆ
  • ปากกา Sharpie หัว​ใหญ่ — บังคับ​ให้​เขียน​สั้น อ่าน​ออก​จาก​ระยะ​ไกล ปากกา​ลูก​ลื่น​เส้น​เล็ก​จะ​ล่อ​ให้​คน​เขียน​ประโยค​ยาวๆ ซึ่ง​ไม่ใช่​ภาษา​ของ event
  • พื้นที่​ยืน ไม่มี​โต๊ะ ไม่มี​เก้าอี้ — ฟัง​ดู​โหด​แต่​จงใจ คน​ที่นั่ง​จะ​เฉื่อย​และ​ถอย​ออก​จาก​วง คน​ที่​ยืน​จะ​เดิน​เข้าไป​เขียน ไป​ชี้ ไป​เถียง​หน้า​กระดาษ พลังงาน​ของวง​ขึ้น​กับ​ข้อ​นี้​มาก​อย่าง​ไม่​น่า​เชื่อ
ทำไม Post-it ไม่ใช่​กระดาน​วาดสวยๆ

Post-it ถูก​ออกแบบ​มา​ให้ “ถอด​ง่าย ย้าย​ง่าย ทิ้ง​ง่าย” ความ​ไม่​ถาวร​นี้​แหละ​คือ​คุณสมบัติ มัน​บอก​ทุก​คน​ว่า model นี้​ยัง​แก้​ได้ ไม่​ต้อง​กลัว​เขียน​ผิด พอ​เทียบ​กับ​การ​วาด​กล่อง​ลาก​เส้น​ใน​เครื่อง​มือสวยๆ คน​จะ​รู้สึก​ว่า​มัน “เสร็จ​แล้ว” และ​หยุด​คิด​ต่อ

รูปแบบ​ที่​ได้​ผล​คือ เริ่ม​ให้​มั่ว​ก่อน แล้ว​ค่อย​จัด​เรียง ไม่ใช่​พยายาม​ทำให้​เป็น​ระเบียบ​ตั้งแต่​แรก การ​รีบ​จัด​ระเบียบ​เร็ว​เกิน​ไป​คือ​การ​ปิด​กั้น​ความคิด​ที่​ยัง​ไม่ทัน​โผล่

flowchart TD
  A["Kick-off: อธิบาย legend และตั้งโจทย์คำถาม"] --> B["ระเบิดไอเดีย chaotic exploration: ทุกคนเขียน event พร้อมกัน"]
  B --> C["จัดเรียงตามเส้นเวลา enforce the timeline"]
  C --> D["ทำเครื่องหมาย Pivotal Event และจอด Hotspot ไว้"]
  D --> E["ไล่เล่าเรื่องซ้ำ walkthrough เพื่อหาช่องโหว่"]
  E --> F["Wrap-up: สรุปและจัดลำดับสิ่งที่ต้องคุยต่อ"]
  classDef pivotal fill:#e8743b,stroke:#b45309,color:#1a1a1f;
  classDef hot fill:#f87171,stroke:#b91c1c,color:#1a1a1f;
  class D pivotal;
  class A hot;
  1. Kick-off (5–10 นาที) — facilitator อธิบาย legend สั้นๆ (โฟกัส​แค่ event สี​ส้ม​ก่อน) ตั้ง​ขอบเขต​ของ​เรื่อง​ที่​จะ storm และ​ตั้ง timebox ให้​ชัด อย่า​บรรยาย​ทฤษฎี​นาน คน​อยาก​ลงมือ
  2. ระเบิด​ไอเดีย (chaotic exploration) — ให้ ทุก​คน​เขียน event พร้อม​กัน ไม่​ต้อง​รอ​คิว ไม่​ต้อง​ผลัด​กัน​ที​ละ​คน กระดาษ​จะ​เต็ม​ไป​ด้วย Post-it ส้ม​แบบ​ไม่​เรียง​ลำดับ นี่​คือ​ช่วง​ที่ “เสียง​ดัง​และ​วุ่นวาย” และ​มัน​ควร​เป็น​แบบ​นั้น
  3. จัด​เรียง​ตาม เส้น​เวลาTimelineการ​เรียง domain event จาก​ซ้าย​ไป​ขวา​ตาม​ลำดับ​เวลา​ที่​เกิด​ขึ้น​จริง เป็น​แกน​หลัก​ที่​ทำให้​ทั้ง​ทีม​เห็น​เรื่องราว​ของ​ธุรกิจ​ร่วม​กัน​บน​ผนัง​เดียวProcess (enforce the timeline) — เริ่ม​ดัน Post-it ให้​เรียง​จาก​ซ้าย (อดีต) ไป​ขวา (อนาคต) event ซ้ำ​จะ​ถูกรวม event ที่​ขัด​กัน​จะ​เผย​ตัว และ​ช่องว่าง​ใน​เรื่อง​จะ​ปรากฏ
  4. ทำ​เครื่องหมาย Pivotal EventPivotal Eventdomain event สำคัญ​ที่​แบ่ง​ไทม์​ไลน์​ออก​เป็น​ช่วง ๆ (เช่น OrderPlaced, FoodDelivered) มัก​ขีด​เส้น​แนว​ตั้ง​กำกับ ใช้​เป็น​เบาะแส​ของ​ขอบเขต bounded context ใน​ภายหลังProcess และ​จอด Hotspot — ขีด​เส้น​แนว​ตั้ง​ที่ event สำคัญ​ซึ่ง​แบ่ง​ช่วง​ของ​เรื่อง เช่น OrderPlaced, PaymentCaptured, FoodDelivered ส่วน​คำถาม​หรือ​ข้อ​ขัดแย้ง​ที่​ยัง​ตอบ​ไม่​ได้ ให้​แปะ Post-it แดง​ไว้ แล้ว​เดิน​ต่อ อย่า​หยุด​ถก​ยาว
  5. ไล่​เล่า​เรื่อง​ซ้ำ (walkthrough) — เดิน​จาก​ซ้าย​ไป​ขวา​เล่า​เรื่อง​เป็น​คำ​พูด “แล้ว​อะไร​เกิด​ต่อ?” การ​เล่า​ซ้ำ​จะ​เจอ​รู​โหว่​ที่​ตา​ยัง​ไม่​เห็น
  6. Wrap-up — สรุป​สิ่ง​ที่​ค้น​พบ จัด​ลำดับ Hotspot ว่า​อัน​ไหน​ต้อง​คุย​ก่อน และ​นัดหมาย​ก้าว​ถัด​ไป
🍔 จอด Hotspot ไม่​ให้​ขัดจังหวะ

พอ​ถึง PaymentCaptured แล้ว​มี​คน​ถาม​ว่า “ถ้า​ร้าน​ไม่​กด​รับ​ใน 5 นาที​ทำ​ยังไง?” อย่า​ให้​วง​จม​อยู่​กับ​คำถาม​นี้ 20 นาที แปะ Post-it แดง ร้านไม่กดรับใน 5 นาที ทำยังไง? ไว้​ตรง​นั้น​แล้ว​เดิน​เรื่อง​ต่อ Hotspot สี​แดง​เรียง​กัน​บน​กระดาษ​คือ “วาระ​การ​ประชุม​ครั้ง​หน้า” ที่​ทีม​สร้าง​ขึ้น​เอง​โดย​ไม่รู้ตัว

FacilitatorFacilitatorผู้​ดำเนิน​เวิร์กช็อป คอย​ตั้ง​คำถาม รักษา​พลังงาน​กลุ่ม จัด​เส้น​เวลา และ​กัน​ไม่​ให้​วง​คุย​ไหล​ลง​รายละเอียด​เร็ว​เกิน​ไป — บทบาท​ชี้​เป็น​ชี้​ตาย​ของ EventStorming ที่​ดีProcess ไม่ใช่ “คน​ที่​รู้​คำ​ตอบ​มาก​ที่สุด” และ​ไม่ใช่ “คน​ที่​เขียน Post-it เก่ง​ที่สุด” หน้าที่​จริง​คือ​คุม​พลวัต​ของวง​ให้​ความ​รู้​ไหล​ออก​มา​จาก​คน​อื่น งาน​หลัก​มี​สี่​อย่าง

  • ตั้ง​คำถาม ไม่ใช่​ให้​คำ​ตอบ — “แล้ว​ก่อนหน้า​นั้น​เกิด​อะไร?” “ใคร​เป็น​คน​สั่ง​ให้​สิ่ง​นี้​เกิด?” “มี​เคส​ที่​มัน​ไม่​เป็น​แบบ​นี้​ไหม?” คำถาม​ที่​ดี​ดึง event ที่​ซ่อน​อยู่​ออก​มา
  • จัด​เส้น​เวลา​และ​รักษาการ​ไหล​ของ​เรื่อง — คอย​ดัน​ให้ model เดิน​หน้า​ตาม​เวลา ไม่​วน​อยู่​จุด​เดียว
  • กัน​ไม่​ให้​ลง​รายละเอียด​เร็ว​เกิน​ไป — พอ​มี​คน​เริ่ม​พูด​เรื่อง​ตาราง database หรือ​ชื่อ API ให้​ค่อยๆ ดึง​กลับ​มา​ที่​ภาพ​ใหญ่ “จด​ไว้​เป็น Hotspot ก่อน เดี๋ยว​เรา​กลับ​มา”
  • กัน​คน​ใด​คน​หนึ่ง​ครอบงำ​วง — ถ้า​มี​คน​พูด​คน​เดียว​ตลอด facilitator ต้อง​เปิด​พื้นที่​ให้​คน​เงียบๆ ได้​เขียน​บ้าง เพราะ expert ตัว​จริง​บาง​คน​พูด​น้อย​แต่​รู้​ลึก

สิ่ง​ที่ facilitator ไม่​ควร ทำ​คือ​เขียน Post-it แทน​ทุก​คน เพราะ​ทันที​ที่​ปากกา​ไป​กระจุก​อยู่​คน​เดียว ความเร็ว​ของวง​จะ​ตกลง​มา​เท่า​ความเร็ว​มือ​ของ​คน​คน​นั้น และ​คน​อื่น​จะ​กลาย​เป็น​ผู้​ชม

ผลพลอยได้​ที่​ห้าม​มอง​ข้าม: Ubiquitous Language

ระหว่าง​ที่​วง​เถียง​กัน​ว่า “รับ​ออเดอร์” กับ “ยืนยัน​ออเดอร์” ต่าง​กัน​ไหม facilitator ควร​เงี่ยหู​ฟัง​เป็น​พิเศษ เพราะ​นั่น​คือ ภาษา​ที่​ทุก​ฝ่าย​ใช้​ร่วม​กันUbiquitous Languageภาษา​กลาง​ที่​ทีม​และ​ผู้เชี่ยวชาญ​ธุรกิจ​ใช้​ร่วม​กัน EventStorming เป็น​เครื่องมือ​ชั้น​ดี​ใน​การ “ขุด” ภาษา​นี้​ออก​มา เพราะ​ทุก​คำ​บน Post-it ถูก​เถียง​และ​ตกลง​กัน​สด ๆStrategic Design กำลัง​ก่อ​ตัว จับ​คำ​ที่​ทีม​ตกลง​กัน​ได้ แล้ว​เขียน​ลง Post-it ให้​ตรง​กัน — คำ​เหล่า​นี้​จะ​กลาย​เป็น​ชื่อ class ชื่อ event และ​ชื่อ API ใน code จริง​ต่อ​ไป

ต่อ​ไป​นี้​คือ​กับดัก​ที่​ทำให้​เวิร์กช็อปกลาย​เป็นการ​ประชุม​น่า​เบื่อ facilitator ที่​ดี​จะ​จับ​สัญญาณ​เหล่า​นี้​ได้​ตั้งแต่​เนิ่นๆ

ห้า​กับดัก​ที่​ฆ่า​เวิร์กช็อป

1. ลง​รายละเอียด​เร็ว​เกิน​ไป — วง​เริ่ม​ถก​เรื่อง schema ฐาน​ข้อมูล​หรือ endpoint ตั้งแต่ 15 นาที​แรก ภาพ​ใหญ่​ยัง​ไม่ทัน​เห็น​ก็​จม​อยู่​กับ​เทคนิค​แล้ว จับ​กลับ​มา​ที่ event ก่อน​เสมอ

2. dev ครอบงำ domain expert — เมื่อ​ทีม​เทคนิค​พูด​มาก​จน expert เงียบ ความ​รู้​ที่​เรา​ตั้งใจ​มา​ขุด​จะ​ถูก​กลบ​ด้วย​การ​เดา​ของ dev เอง facilitator ต้อง​เปิด​ไมค์​ให้ expert

3. ไม่มี expert ตัว​จริง​ใน​ห้อง — ส่งตัวแทนที่ “พอ​รู้เรื่อง” มา​แทน​คน​ที่​ทำงาน​จริง สุดท้าย​ได้ model ที่​ดู​ดี​แต่​ผิด​จาก​ความ​จริง นี่​คือ​กับดัก​ที่​ร้าย​ที่สุด เลื่อน​วัน​ดี​กว่า​มา​แบบ​ไม่มี​คน​ตอบ

4. เขียน event ผิด​รูป — เขียน​เป็นกริยา​ปัจจุบัน​หรือ​คำ​นาม เช่น ชำระเงิน หรือ การชำระเงิน แทนที่​จะ​เป็น​อดีตกาล PaymentCaptured event ต้อง​เป็น “สิ่ง​ที่​เกิด​ขึ้น​แล้ว” เสมอ ไม่​งั้น​เส้น​เวลา​จะ​สับสน

5. Facilitator เป็น​คอ​ขวด — facilitator ยึด​ปากกา​ไว้​คน​เดียว เขียน​แทน​ทุก​คน วง​เลย​เดิน​ช้า​เท่า​มือ​คน​เดียว หน้าที่​คือ “คุม​วง” ไม่ใช่ “เขียน​แทน​วง”

สรุป​เป็น​ภาพ​ว่า​อะไร​ควร​ทำ​และ​อะไร​ควร​เลี่ยง

flowchart LR
  subgraph GOOD["ควรทำ do"]
    direction TB
    G1["ทุกคนยืน ไม่มีเก้าอี้ให้นั่งเฉื่อย"]
    G2["ทุกคนเขียน Post-it พร้อมกัน"]
    G3["เริ่มมั่วก่อน แล้วค่อยจัดเรียงทีหลัง"]
    G4["จอด Hotspot ไว้ ไม่ถกยาวกลางวง"]
    G1 --> G2 --> G3 --> G4
  end
  subgraph BAD["ควรเลี่ยง dont"]
    direction TB
    B1["ผลัดกันพูดทีละคน"]
    B2["ลงลึกรายละเอียดเทคนิคเร็วเกินไป"]
    B3["facilitator เขียนแทนทุกคนจนเป็นคอขวด"]
    B4["ไม่มี domain expert ตัวจริงในห้อง"]
    B1 --> B2 --> B3 --> B4
  end
  classDef good fill:#86efac,stroke:#15803d,color:#1a1a1f;
  classDef bad fill:#f87171,stroke:#b91c1c,color:#1a1a1f;
  class G1,G2,G3,G4 good;
  class B1,B2,B3,B4 bad;

โลก​จริง​บางที​ทุก​คน​มา​รวม​ตัว​ใน​ห้อง​เดียว​ไม่​ได้ Event Storming ทำ​แบบ​ออนไลน์​ได้ แต่​ต้อง​ยอมรับ​ว่า​มัน “ช้า​กว่า​และ​ฝืด​กว่า” เสมอ เพราะ​เรา​สูญเสีย​พลังงาน​ของ​การ​ยืน​หน้า​กระดาษ​เดียวกัน​ไป

  • ใช้​กระดาน​ออนไลน์ ที่​จำลอง modeling surface แบบ​ไม่​จำกัด และ​ให้​หลาย​คน​แปะ Post-it พร้อม​กัน​ได้ วาง​ชุด​สี legend ไว้​ให้​หยิบ​ง่าย
  • ต้อง​คุม​วง​ให้​แน่น​ขึ้น — บนจอ คน​หลุด​โฟกัส​ง่าย​และ​เงียบ​ง่าย​กว่า​เดิม​มาก facilitator ต้อง​คอย​เรียก​ชื่อ ถาม​ความเห็น​เป็น​ราย​คน และ​คุม​จังหวะ​ให้​กระชับ
  • จำกัด​ขนาด​กลุ่ม​ให้​เล็ก​ลง — วง​ออนไลน์ 5–6 คน​มักได้​ผล​ดี​กว่า​วง​ใหญ่ เพราะ​คุม​การ​พูด​ทับ​กัน​ได้​ง่าย​กว่า ถ้า​คน​เยอะ ให้​แตก​เป็น​หลาย​รอบ​ย่อย
  • แบ่ง​เป็น session สั้น​หลาย​ครั้ง — ยืน​หน้า​จอ​สาม​ชั่วโมง​รวด​พลังงาน​หมด​ไว ซอย​เป็น​หลาย​รอบสั้นๆ จะ​รักษา​คุณภาพ​ได้​ดี​กว่า

ถ้า​รู้สึก​ว่า Event Storming แบบ​ภาพ​ใหญ่​ยัง​ไม่​พอ​เจาะ​ลึก​กระบวนการ​เฉพาะ​เรื่อง อีก​เครื่องมือ​ที่​เข้า​คู่​กัน​ได้​ดี​คือ Domain StorytellingDomain Storytellingเทคนิค​พี่น้อง​ของ EventStorming ที่​ให้​ผู้เชี่ยวชาญ “เล่า​เรื่อง” การ​ทำงาน​จริง​เป็น​ภาพ actor–activity–work object ใช้​เสริม​กัน​เพื่อ​เก็บ​รายละเอียด​เส้นทาง​เฉพาะProcess ซึ่ง​เล่า​เรื่อง​ผ่าน​ตัว​ละคร​และ​การกระทำ​เป็น​ลำดับ ช่วย​เสริม​มุม​ที่ ES ยัง​ไม่​ละเอียด​พอ

🔗 อ้างอิง​เพิ่มเติม​ใน DevIQ

เจาะ​ลึก​แนวคิด​ต่อ​ได้ที่​คลัง​อ้างอิง DevIQ:

  • Event Storming — สรุป​รูปแบบ​และ​วิธี​นำ​ไป​ใช้​ทั้ง​กระบวนการ ใช้​ทบทวน​ภาพ​รวม​ก่อน​ไป​จัด​วง​จริง
  • Domain Storytelling — เครื่องมือ​ทาง​เลือก​และ​ตัว​เสริม​เมื่อ Event Storming ยัง​เจาะ​กระบวนการ​ได้​ไม่​ลึก​พอ
  • Ubiquitous Language — ผลพลอยได้​สำคัญ​ที่ facilitator ต้อง​คอย​จับ​ระหว่าง​วง เพราะ​คำ​ที่​ทีม​ตกลง​กัน​จะ​กลาย​เป็น​ภาษา​ใน code จริง

เช็กความเข้าใจ — บทที่ 5

ข้อ 1 / 3

ในเวิร์กช็อป Event Storming ใครคือคนที่ ‘ขาดไม่ได้’ ที่สุด?