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

Event Storming คือ​อะไร และ​ทำไม​ต้อง​ใช้

ลอง​นึก​ภาพ​ห้อง​ประชุม​ที่​มี​คน​นั่ง​อยู่​หก​คน ทุก​คน “เข้าใจ” ว่า​ธุรกิจ​ของ​บริษัท​ทำงาน​ยังไง แต่​พอ​ให้​แต่ละ​คน​วาด​ออก​มา กลับ​ได้​ภาพ​หก​แบบ​ที่​ไม่​เหมือน​กัน​เลย ฝ่าย​โปรดักต์เข้าใจ​อย่าง​หนึ่ง ฝ่าย​บัญชี​เข้าใจ​อีก​อย่าง ส่วน​นัก​พัฒนา (dev) ก็​เดา​เอา​จาก code เก่า​ที่​ตัวเอง​แก้​มา​สาม​ปี ความ​รู้เรื่อง​ธุรกิจ​ไม่​ได้​หาย​ไป​ไหน — มัน​แค่ กระจัดกระจาย​อยู่​ใน​หัว​ของ​คน​หลาย​คน และ​ไม่มี​ใคร​เห็น​ภาพ​เต็ม​พร้อม​กัน​สัก​ที

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

องค์กร​ส่วน​ใหญ่​ไม่​ได้​ขาด​ความ​รู้เรื่อง​ธุรกิจ — ปัญหา​คือ​ความ​รู้​นั้น แตก​เป็น​เกาะ (silos) อยู่​คนละ​ที่ ฝ่าย​การ​ตลาด​รู้​ว่า​ลูกค้า​อยาก​ได้​อะไร ฝ่าย​ปฏิบัติการ​รู้​ว่า​หน้า​งาน​จริง​ติดขัด​ตรง​ไหน ทีม support รู้​ว่า​เคส​ประ​หลา​ดๆ เกิด​บ่อย​แค่​ไหน แต่​ไม่มี​ใคร​เอา​ความ​รู้​ทั้งหมด​มา​ต่อ​กัน​เป็น​ภาพ​เดียว

พอ​ความ​รู้​อยู่​คนละ​เกาะ สิ่ง​ที่​ตาม​มา​ก็​เป็น​วงจร​เดิมๆ:

  • เอกสาร​ล้าสมัย — spec ที่​เขียน​ไว้​เมื่อ​หก​เดือน​ก่อน​ไม่​ตรง​กับ​ของ​จริง​แล้ว แต่​ยัง​ถูก​ส่ง​ต่อ​ให้​ทีม​ใช้​เป็น “ความ​จริง”
  • dev เดา​เอา — เมื่อ​ไม่มี​ใคร​ตอบได้ชัดๆ นัก​พัฒนา​ก็​ต้อง​เดา​เจตนา​ของ​ธุรกิจ​แล้ว​เขียน code ตาม​ที่​เดา
  • ระบบ​ผิด​เป้า — สุดท้าย​ได้​ซอฟต์แวร์​ที่ “รัน​ได้” แต่​ไม่​ตรง​กับ​สิ่ง​ที่​ธุรกิจ​ต้องการ​จริง ต้อง​มา​แก้​กัน​ทีหลัง​ด้วย​ต้นทุน​มหาศาล

ราก​ของ​ปัญหา​คือ ช่องว่าง​ของ​การ​สื่อสาร ไม่ใช่​ช่องว่าง​ของ​ความ​สามารถ ทุก​คน​เก่ง​ใน​เรื่อง​ของ​ตัวเอง แต่​ไม่มี​เวที​ที่​ทำให้​ทุก​คน “เห็น​ตรง​กัน” ได้​เร็ว​พอ ก่อน​ที่​ความ​เข้าใจ​ผิด​จะ​ถูก​ฝัง​ลง​ไป​ใน code

flowchart TD
  P1["ในหัวของ PO"] --> G["ช่องว่างของความเข้าใจ"]
  P2["ในหัวของ Dev"] --> G
  P3["ในหัวของลูกค้าจริง"] --> G
  P4["เอกสารเก่าที่ล้าสมัย"] --> G
  G --> R["ระบบที่สร้างออกมาผิดเป้า"]
  classDef hot fill:#f87171,stroke:#b91c1c,color:#1a1a1f;
  class G,R hot;

Event Storming คือ เวิร์กช็อป​สำรวจ domain แบบ​ร่วมมือ​กัน​ทั้ง​ทีม วิธี​เล่น​เรียบ​ง่าย​จน​น่า​ตกใจ: หา​ผนัง​ยาวๆ (หรือ​กระดาษ​โรล​แปะ​ยาว​ทั้ง​ผนัง) เอา Post-it สี​ส้ม​กับ​ปากกา​มา​แจก แล้ว​ให้​ทุก​คน​ช่วย​กัน​เขียน “สิ่ง​ที่​เกิด​ขึ้น​ใน​ธุรกิจ” ลงบน Post-it สี​ส้ม​ที​ละ​เหตุการณ์ แล้ว​แปะ​เรียง​จาก​ซ้าย​ไป​ขวา​ตาม​ลำดับ​เวลา

Post-it สี​ส้ม​แต่ละ​ใบ​เรียก​ว่า Domain EventDomain Eventสิ่ง​ที่ “เกิด​ขึ้น​แล้ว” และ​มี​ความหมาย​ต่อ​ผู้เชี่ยวชาญ​ธุรกิจ เขียน​เป็นกริยา​อดีต (เช่น OrderPlaced, PaymentCaptured) แทน​ด้วย Post-it สี​ส้ม เป็น​หน่วย​ตั้งต้น​ของ EventStorming ทุก​แบบTactical Design — แปล​ตรง​ตัว​คือ “เหตุการณ์​ใน domain” กติกา​สำคัญ​ที่สุด​ของ​มัน​คือ​ต้อง​เป็น “สิ่ง​ที่​เกิด​ขึ้น​แล้ว” เขียน​เป็นกริยา​ช่อง​อดีต เช่น OrderPlaced (ออเดอร์​ถูก​สั่ง​แล้ว), PaymentCaptured (ตัด​เงิน​สำเร็จ​แล้ว), FoodDelivered (อาหาร​ถูก​ส่ง​ถึง​แล้ว) ไม่ใช่​ปุ่ม ไม่ใช่​หน้า​จอ ไม่ใช่​ตาราง​ใน​ฐาน​ข้อมูล แต่​คือ เหตุการณ์​ที่​มี​ความหมาย​ต่อ​คน​ทำ​ธุรกิจ

พอ​เอา Domain Event หลายๆ ใบ​มา​เรียง​ต่อ​กัน​ตาม​เวลา จะ​ได้ เส้น​เวลา (Timeline)Timelineการ​เรียง domain event จาก​ซ้าย​ไป​ขวา​ตาม​ลำดับ​เวลา​ที่​เกิด​ขึ้น​จริง เป็น​แกน​หลัก​ที่​ทำให้​ทั้ง​ทีม​เห็น​เรื่องราว​ของ​ธุรกิจ​ร่วม​กัน​บน​ผนัง​เดียวProcess ของ​ธุรกิจ​ทั้ง​เส้น อ่าน​จาก​ซ้าย​ไป​ขวา​ก็​เหมือน​อ่าน​เรื่อง​เล่า: ลูกค้า​ทำ​นี่ แล้ว​เกิด​นั่น แล้ว​ต่อ​ด้วย​โน่น เส้น​เวลา​นี้​แหละ​คือ “แผนที่” ที่​ทุก​คนใน​ห้อง​มอง​เห็น​พร้อม​กัน​เป็น​ครั้ง​แรก

flowchart LR
  A["ItemAddedToCart"] --> B["OrderPlaced"]
  B --> C["PaymentCaptured"]
  C --> D["FoodDelivered"]
  classDef evt fill:#e8743b,stroke:#b45309,color:#1a1a1f;
  class A,B,C,D evt;

Post-it สี​ส้ม​สี่​ใบ​ข้าง​บน​นี้​คือ​แก่น​ของ Event Storming ทั้งหมด — ที่​เหลือ (สี​ฟ้า สี​เหลือง สี​ม่วง) เป็น​รายละเอียด​ที่​จะ​ค่อยๆ เติม​เข้าไปในบทถัดๆ ไป แต่​ทุก​อย่าง​เริ่ม​จาก​สี​ส้ม​เสมอ เพราะ event คือ “ความ​จริง” ที่​ทุก​ฝ่าย​เห็น​ตรง​กัน​ได้​ง่าย​ที่สุด

ทำไม​ต้อง event ไม่ใช่​ปุ่ม​หรือ​หน้า​จอ

ถ้า​เริ่ม​จาก “หน้า​จอ” หรือ “ปุ่ม” จะ​ติด​กับดัก​การ​ออกแบบ UI ตั้งแต่​ยัง​ไม่​เข้าใจ​ธุรกิจ แต่​ถ้า​เริ่ม​จาก สิ่ง​ที่​เกิด​ขึ้น​แล้ว จะ​โฟกัส​ที่ “อะไร​เกิด​ขึ้น​ใน​โลก​จริง​บ้าง” ซึ่ง​เป็น​ภาษา​ที่​ทั้งคน​ธุรกิจ​และ dev เข้าใจ​ตรง​กัน — นี่​คือ​เหตุผล​ที่ Event Storming เริ่ม​จาก event เสมอ

Event Storming ถูก​คิดค้น​โดย Alberto Brandolini ที่ปรึกษา​ด้าน Domain-Driven Design (DDD) ชาว​อิตาลี ราว​ปี 2013 เรื่อง​เล่า​ที่​ติดปาก​คือ​วัน​หนึ่ง​เขา​ต้อง​รีบทำเวิร์กช็อป model ธุรกิจ​แต่​เครื่องมือ​วาด​ไดอะแกรม​บน​คอม​ดัน​ช้า​และ​ยุ่งยาก​เกิน​ไป เขา​เลย​คว้า Post-it กับ​ผนัง​มา​ใช้​แทน แล้ว​พบ​ว่า “มัน​เร็ว​กว่า​และ​ได้​ผลกว่า​มาก”

Brandolini รวบรวม​เทคนิค​นี้​ไว้​ใน​หนังสือ​ชื่อ Introducing EventStorming (ตี​พิมพ์​แบบ​ค่อยๆ เขียน​ต่อ​เนื่อง​บน Leanpub) ซึ่ง​กลาย​เป็น​คัมภีร์​หลัก​ของ​วิธี​นี้ ประโยค​ที่​คน​ชอบ​ยก​มา​อ้าง​ของ​เขา​คือ​แนวคิด​ว่า Event Storming ถูก​ออกแบบ​มา​เพื่อ “ดึง​ความ​รู้​ที่​ยัง​ไม่​ถูก​พูด​ออก​มา” ให้​ปรากฏ​บน​ผนัง​อย่าง​รวดเร็ว ก่อน​ที่​ความ​เข้าใจ​ผิด​จะ​กลาย​เป็น code ที่​แก้​ยาก

จุด​ที่​ทำให้ Event Storming แพร่หลาย​ไป​ทั่ว​โลก​คือ​มัน​ไม่​ต้อง​ใช้​เครื่องมือ​แพงๆ ไม่​ต้อง​มี​ความ​รู้​ทฤษฎี​มา​ก่อน แค่​มี​ผนัง Post-it ปากกา และ คน​ที่​รู้เรื่อง​ธุรกิจ​จริง ก็​เริ่ม​ได้​ทันที

Event Storming ดูเหมือน​แค่ “เอา Post-it มา​แปะ​เล่น” แต่​เบื้องหลัง​มี​เหตุผล​สาม​ข้อ​ที่​ทำให้​มัน​ได้​ผล​จริง​เกิน​คาด

หนึ่ง — พื้นที่ model ไม่​จำกัด (unlimited modeling surface) เครื่องมือ​วาด​ไดอะแกรม​บน​คอม​มัก​บังคับ​ให้​เรา​คิด​ใน​กรอบ​แคบๆ ที​ละ​กล่อง แต่​ผนัง​ยาวๆ ให้​เรา​แปะ Post-it ได้​เป็น​ร้อย​เป็น​พัน​ใบ​โดย​ไม่​ต้อง “เลื่อน​หน้า​จอ” ทุก​คน​เห็น​ภาพ​ทั้งหมด​พร้อม​กัน เดิน​ไป​ชี้​ไป​คุย​กัน​ได้ พื้นที่​ที่​กว้าง​ไม่​จำกัด​นี้​เอง​ที่​ปลด​ล็อก​ให้​ความ​รู้​ไหล​ออก​มา​ได้​เต็ม​ที่

สอง — สัญกรณ์ (notation) น้อย​จน​ใคร​ก็​ร่วม​ได้ จุด​เด่น​ที่สุด​ของ Event Storming คือ​มัน “ไม่​ต้อง​เรียน​ก่อน” ตอน​เริ่ม​มี​แค่​กติกา​เดียว: Post-it สี​ส้ม = สิ่ง​ที่​เกิด​ขึ้น​แล้ว ผู้​บริหาร​ที่​ไม่​เคย​เขียน code กับ dev ที่​ไม่​เคย​คุย​กับ​ลูกค้า สามารถ​ยืน​แปะ Post-it ข้าง​กัน​ได้​อย่าง​เท่าเทียม ยิ่ง​คน​เข้า​ร่วม​ได้​ง่าย ความ​รู้​ที่​ถูก​ดึง​ออก​มา​ก็​ยิ่ง​ครบ

สาม — โฟกัส​ที่ event ทำให้​เจอ​ความ​จริง​และ​ความ​ขัดแย้ง​เร็ว เมื่อ​เรียง event ตาม​เวลา ช่องว่าง​และ​ความ​ไม่​ลงรอย​จะ “โผล่​ออก​มา​เอง” เช่น มี​คน​แปะ PaymentCaptured ไว้​ก่อน OrderPlaced แล้ว​อีก​คน​ทัก​ว่า “เอ๊ะ ตัด​เงิน​ก่อน​สั่ง​ได้​ยังไง?” — บทสนทนา​แบบ​นี้​แหละ​คือ​ทองคำ เพราะ​มัน​เผย​จุด​ที่​ทีม​เข้าใจ​ไม่​ตรง​กัน​ตั้งแต่​ยัง​ไม่​ได้​เขียน code สัก​บรรทัด จุด​ขัดแย้ง​ที่​ยัง​ตอบ​ไม่​ได้​จะ​แปะ Post-it สี​แดง (HotspotHotspotจุด​ที่​เป็น​ปัญหา ข้อ​ขัดแย้ง หรือ​คำถาม​ที่​ยัง​ตอบ​ไม่​ได้​ระหว่าง​เวิร์กช็อป แทน​ด้วย Post-it สี​แดง​วาง​เฉียง ๆ เก็บ​ไว้​กลับ​มา​คุย​ทีหลัง​โดย​ไม่​ขัดจังหวะ​การ​ไหล​ของ​กลุ่มProcess) กำกับ​ไว้ แล้วกลับ​มา​คุย​ทีหลัง

flowchart LR
  subgraph before["ก่อน Event Storming"]
    direction TB
    H1["ความรู้ในหัว PO"]
    H2["ความรู้ในหัว Dev"]
    H3["ความรู้ในหัวลูกค้า"]
  end
  subgraph after["หลัง Event Storming"]
    direction TB
    W["ผนังเดียวที่ทุกคนเห็นตรงกัน"]
  end
  before --> after
  classDef good fill:#86efac,stroke:#15803d,color:#1a1a1f;
  class W good;

Event Storming ไม่​ได้​มี​สูตร​เดียว แต่​แบ่ง​เป็น​สาม​ระดับ​ตาม “ความ​ละเอียด” ที่​เรา​ต้องการ ค่อยๆ ซูม​เข้า​จาก​ภาพ​กว้าง​ไป​หา​รายละเอียด​ระดับ code

  • Big PictureBig Picture EventStormingเวิร์กช็อป EventStorming รอบ​แรก​และ​กว้าง​ที่สุด เชิญ​คน​จาก​ทุก​ฝ่าย​มาระดม domain event ของ​ทั้ง​สาย​ธุรกิจ​ลง​บน​ไทม์​ไลน์​เดียว เป้าหมาย​คือ​เห็น​ภาพ​รวม ค้น​พบ​รอย​ต่อ​และ​จุด​ที่​ยัง​ไม่รู้ ไม่​เน้น​รายละเอียดProcess — รอบ​แรก​และ​กว้าง​ที่สุด เชิญ​คน​จาก​ทุก​ฝ่าย​มาระดม Domain Event ของ​ทั้ง​สาย​ธุรกิจ​ลง​บน​ไทม์​ไลน์​เดียว เป้าหมาย​คือ “เห็น​ภาพ​รวม” และ​ค้น​พบ​ว่า​ยัง​ไม่รู้​อะไร​บ้าง (จะ​ลง​ลึก​ใน​บท​ที่ 2)
  • Process ModelingProcess Modelingระดับ​กลาง​ของ EventStorming ที่​ต่อ​จาก Big Picture — เพิ่ม command, actor, policy และ read model เข้า​มา​เพื่อ​ให้​เห็น “กลไก” ที่​ทำให้​แต่ละ event เกิด​ขึ้น ก่อน​จะ​ลง​ลึก​ระดับ designProcess — ระดับ​กลาง เพิ่ม commandCommandความ​ตั้งใจ​หรือ​การ​ตัดสิน​ใจ​ที่ “สั่ง​ให้​เกิด” domain event เขียน​เป็นกริยา​คำ​สั่ง (เช่น PlaceOrder) แทน​ด้วย Post-it สี​ฟ้า มัก​มี actor เป็น​ผู้​ลงมือTactical Design, actorActorคน/บทบาท​ที่​ออก command (เช่น ลูกค้า ร้าน​อาหาร ไร​เด​อร์) แทน​ด้วย Post-it สี​เหลือง​แผ่น​เล็ก​แปะ​มุม​ของ command ช่วย​ตอบ​ว่า “ใคร​เป็น​คน​ทำ”Process, policyPolicyกฎ​เชิง​ปฏิกิริยา​แบบ “whenever X → do Y” ที่​คอย​ฟัง event หนึ่ง​แล้ว​สั่ง command ต่อ​โดย​อัตโนมัติ (เช่น เมื่อ PaymentCaptured → แจ้ง​ร้าน​ให้​กด​รับ) แทน​ด้วย Post-it สี​ม่วง​อ่อนProcess และ read modelRead Modelข้อมูล/หน้า​จอ​ที่​ผู้​ใช้ “อ่าน” เพื่อ​ประกอบ​การ​ตัดสิน​ใจ​ก่อน​ออก command (เช่น ตะกร้า หน้า​ติดตามออเดอร์) แทน​ด้วย Post-it สี​เขียว เชื่อม​โยง​กับ​ฝั่ง Query ของ CQRSTactical Design เข้า​มา เพื่อ​ให้​เห็น “กลไก” ที่​ทำให้​แต่ละ event เกิด​ขึ้น (บท​ที่ 3 และ 4)
  • Design-LevelDesign-Level EventStormingEventStorming รอบ​เจาะ​ลึก​เข้าไป​ใน bounded context เดียว เพื่อ​ออกแบบ​ระดับ​ที่​พร้อม​เขียน code โดย​เรียง​ลำดับ command → aggregate → event และ policy อย่าง​ละเอียดProcess — เจาะ​ลึก​เข้าไป​ใน bounded contextBounded Contextขอบเขต​ที่ model และ ubiquitous language หนึ่ง​ใช้ได้​และ​มี​ความหมาย​แน่นอน ใน EventStorming มัก​ค้น​พบ​ขอบเขต​นี้​จาก pivotal event และ​กลุ่ม event ที่​เกาะ​กลุ่ม​กันStrategic Design เดียว จน​ละเอียด​พอ​จะ​แปลง​เป็น code ได้​จริง (บท​ที่ 4)

ตอน​นี้​แค่​จำ​ภาพ​ว่า​มัน​คือ “การ​ซูม​เข้า” ที​ละ​ขั้น​ก็​พอ จะ​เดิน​ไล่​ทั้ง​สาม​ระดับ​ด้วย​ตัวอย่าง​เดียวกัน​ตลอด​คอร์ส

กฎ​ทอง​ของ Brandolini สรุป​ได้​ประโยค​เดียว: เชิญ “คน​ที่​มี​คำถาม” มา​เจอ “คน​ที่​มี​คำ​ตอบ” ใน​ห้อง​เดียวกัน

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

นอกจาก​สอง​กลุ่ม​หลัก​นี้ ควร​มี Product Owner (PO) ที่​รู้​ทิศทาง​ของ​โปรดักต์ และ​คน​สาย UX ที่​เข้าใจ​มุม​ของ​ผู้​ใช้ ยิ่ง​มุมมอง​หลากหลาย ภาพ​บน​ผนัง​ก็​ยิ่ง​ครบ​และ​จริง

กับดัก​ที่​พบ​บ่อย​ตั้งแต่​ยัง​ไม่​เริ่ม

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

ตลอด​คอร์ส​นี้​จะ​ใช้​ตัวอย่าง​เดียวกัน​เพื่อ​ให้​เห็น​ภาพ​ต่อ​เนื่อง คือ app สั่ง​อาหาร​เดลิ​เวอรี ที่​ทุก​คน​น่า​จะ​เคย​ใช้ — ตั้งแต่​กด​เลือก​เมนู จ่าย​เงิน ร้าน​รับ​ออเดอร์ ไร​เด​อร์มา​รับ ไป​จน​อาหาร​ถึง​มือ​และ​เรา​กด​รีวิว

🍔 โจทย์​ตั้งต้น — app สั่ง​อาหาร​เดลิ​เวอรี

ลอง​ไล่​เรื่องราว​เป็น Domain Event เรียง​ตาม​เวลา​ดู (ทั้งหมด​เป็นกริยา​ช่อง​อดีต — สิ่ง​ที่​เกิด​ขึ้น​แล้ว):

ItemAddedToCartOrderPlacedPaymentCapturedOrderAcceptedByRestaurantFoodPreparedRiderAssignedFoodPickedUpFoodDeliveredOrderRated

อ่าน​จาก​ซ้าย​ไป​ขวา​ก็​เหมือน​เล่า​เรื่อง​ให้​เพื่อน​ฟัง: ลูกค้า​หยิบ​ของ​ใส่​ตะกร้า สั่ง​ออเดอร์ จ่าย​เงิน​สำเร็จ ร้าน​กด​รับ ทำ​อาหาร​เสร็จ จับ​คู่​ไร​เด​อร์ ไร​เด​อร์รับ​อาหาร ส่ง​ถึง​มือ แล้ว​ลูกค้า​ให้​ดาว — นี่​คือ เส้น​เวลา​ของ​ทั้ง​ธุรกิจ บน​ผนัง​เดียว และ​จะ​ค่อยๆ เติม​สี​ฟ้า เหลือง ม่วง เขียว เข้าไปในบทถัดๆ ไป

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


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

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

  • Event Storming — หน้า​อ้างอิง​เทคนิค​นี้​โดยตรง สรุป​กติกา​และ​ขั้นตอน​แบบ​กระชับ ต่อยอด​จาก​ภาพ​รวม​ที่​บท​นี้​วาง​ไว้
  • Domain — “โลก​ของ​ผู้​ใช้” ที่​เรา​ลง​ไป​สำรวจ​ใน​เวิร์กช็อป การ​เข้าใจ domain คือ​เป้าหมาย​ปลายทาง​ของ​การ​แปะ Post-it สี​ส้ม
  • Ubiquitous Language — Event Storming เป็น​เครื่องมือ​ชั้น​ดี​ใน​การ “ขุด” ภาษา​กลาง​นี้​ออก​มา เพราะ​ทุก​คำ​บน Post-it ถูก​เถียง​และ​ตกลง​กันสดๆ
  • Domain Storytelling — เทคนิค​พี่น้อง​ที่​ให้​ผู้เชี่ยวชาญ “เล่า​เรื่อง” การ​ทำงาน​จริง ใช้​เสริม​กับ Event Storming เพื่อ​เก็บ​รายละเอียด​เส้นทาง​เฉพาะ

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

ข้อ 1 / 3

Domain Event (Post-it สีส้ม) ควรเขียนในรูปแบบใด?