Kanban ในชีวิตจริง — แบ่ง User Story ด้วย Error Handling Method

Kanban in Real Life — Splitting a User Story Using Error Handling Method


ศิริพงษ์: “เคยได้ยินคำว่า Positive Case (Happy Path) กับ Negative Case มั้ยครับ? Feature ที่เราทำทั้งหมดมีสองคำนี้เป็นส่วนประกอบ คำว่า Positive Case ก็คือการที่ผู้ใช้ใช้งาน Feature นี้ได้อย่างถูกต้องและบรรลุวัตถุประสงค์ที่เค้าต้องการ ส่วน Negative Case ก็ตรงกันข้ามถ้าเค้าจะพยายามใช้ Feature ด้วยวิธีการที่ไม่ถูกต้องซึ่งระบบเราก็ต้องป้องกันไม่ให้ Case เหล่านี้เกิดขึ้นหรือส่งผลกระทบต่อระบบโดยรวม … อันนี้แหละที่เรียกว่า Error Handling ครับ”

ศิริพงษ์: “เราสามารถแบ่ง User Story โดยพิจารณาที่ Error Handling Method ได้”

Error Handling Method


ศิริพงษ์: “พี่ไม่ได้สนับสนุนให้ปล่อยปะละเลยนะแต่เราเลือกวิธีการจัดการ Error ได้ครับ เช่น ระบบเราจองตั๋วหนัง ถ้ามองงานนี้ให้เป็น Workflow เราควรต้องเขียน Workflow หลักขึ้นมาก่อนนั่นคือ

  • As a user, I want to book movie tickets, …

แต่เรารู้แล้วหละว่าการที่จะให้ลูกค้าจองตั๋วหนังเรื่องใดหรือรอบใดได้ต้องมี Business Rules แบบนี้

  1. หนังต้องเปิดฉายแล้ว
  2. รอบที่ต้องการดูมีที่นั่งเหลือเพียงพอ
  3. จองก่อนหนังฉาย 20 นาที

ซึ่งถ้าทำทั้งส่วนที่เป็น Positive Case (จองตั๋วสำเร็จ) และ Negative Case (จองตั๋วไม่สำเร็จ) มันก็จะเป็น User Story ที่ใหญ่เกินไป ดังนั้นเราแบ่งมันได้แบบนี้ครับ

  • As a user, I want to successfully book movie tickets, …
  • As a user, I want to be notified if something bad happens while I am booking movie tickets, …

ที่น่าสนใจคือ User Story ที่สอง ถ้าการที่จะแจ้งเตือนในรายละเอียดทุกขั้นตอนมันอาจจะเยอะไป เราเลือกที่จะแจ้งเตือนเป็นข้อมูลกลางๆที่ตัดรายละเอียดของ Error นั้นออกไปก่อน

Movie Booking Error Cases

หลังจากนั้นค่อยมาทำให้ Error Handling มันฉลาดขึ้น เช่น

  1. ระบุรายละเอียดใน Error Message ให้มากขึ้น
  2. อาศัยการ Enable/Disable ปุ่ม ช่องว่าง หรือส่วนประกอบอื่นๆบนหน้าเวปไปเลย
  3. เพิ่มการเขียน Error Message และรายละเอียดทางเทคนิคอื่นๆลงใน Log File ครับ”