Use Case · เบื้องหลังจริง

สร้างระบบจริง
ใน 1 วัน — โจทย์ ปัญหา การแก้

บันทึกการพัฒนาบนระบบที่มีคนใช้จริง — เคสจริง หน้าละ 1 เรื่อง ดูเป็นแนวทางได้ทุกธุรกิจ

โจทย์ ปัญหา แก้ไข ผลลัพธ์
ภาพรวม

เราทำอะไรกัน

หลักการเหล่านี้ใช้ได้ไม่ว่าธุรกิจคุณคืออะไร

หัวใจ

วงจรการทำงาน (ทำซ้ำทุกครั้ง)

# ลูปสั้น ๆ ไม่เขียนยาวแล้วค่อยลอง ดูของเดิม → ใช้ของเดิมซ้ำ → แก้ → เช็คก่อน → ปล่อยขึ้นจริง → ทดสอบ → บันทึกเวอร์ชัน
01
CASE

สร้างของใหม่ จากของที่มีอยู่

โจทย์
ต้องมีหน้าใหม่ให้ลูกค้าใช้
ปัญหา
เขียนใหม่จากศูนย์ = ช้า + เสี่ยงไม่เข้ากับระบบเดิม
แก้ไข
คัดลอกหน้าที่ทำงานอยู่แล้วมาดัดแปลง แทนเขียนใหม่
ผลลัพธ์
ได้ของเร็ว + เนียนกับระบบ + บั๊กน้อย
02
CASE

แจกของให้ลูกค้า กดครั้งเดียวจบ

โจทย์
ให้ลูกค้าติดตั้ง/รับของให้ง่ายที่สุด
ปัญหา
ถ้าให้ทำหลายขั้น ลูกค้าจะหลุดกลางทาง
แก้ไข
ทำเป็น คำสั่ง/ลิงก์เดียว · รองรับทุกอุปกรณ์
ผลลัพธ์
ลูกค้าทำเองได้ ไม่ต้องสอน
# แนวคิด: ติดตั้งด้วยบรรทัดเดียว curl -fsSL <ลิงก์>/install.sh | bash
03
CASE

ปุ่มใช้ได้บางเครื่อง ไม่ได้บางเครื่อง

โจทย์
ปุ่มคัดลอกข้อความ
ปัญหา
ใช้ได้บนคอม แต่บนมือถือบางแอป กดแล้วเงียบ
แก้ไข
เพิ่ม ทางสำรอง — ถ้าวิธีหลักไม่ได้ ใช้วิธีรอง
ผลลัพธ์
ใช้ได้ทุกเครื่อง

บทเรียน: ทดสอบบนอุปกรณ์จริงของลูกค้า ไม่ใช่แค่บนเครื่องเรา

04
CASE

ระบบอัตโนมัติ "ไม่ตอบสนอง"

โจทย์
ลูกค้าพิมพ์คำสั่ง แล้วระบบทำงานให้อัตโนมัติ
ปัญหา
พิมพ์ไปแล้ว เงียบ ไม่เกิดอะไร
แก้ไข
ระบบรับข้อความได้ แต่ยังไม่ได้ต่อ logicให้ทำงาน → เติมให้ครบ
ผลลัพธ์
พิมพ์แล้วทำงาน + ตอบกลับทันที
05
CASE

ตั้งค่าภายนอกผิด — วินิจฉัยที่ปลายทาง

ปัญหา
โค้ดถูกแล้ว แต่ระบบยังไม่ทำงาน (อยู่ที่การตั้งค่าของบริการภายนอก)
แก้ไข
สร้างเครื่องมือตรวจสอบชั่วคราว ถามบริการนั้นตรง ๆ ว่าตั้งค่ายังไง → เจอจุดผิด → ถอดเครื่องมือทิ้ง
ผลลัพธ์
รู้สาเหตุจริง ไม่ใช่เดา

ปัญหาไม่ได้อยู่ที่โค้ดเสมอไป — บางทีอยู่ที่ การตั้งค่า

06
CASE

ส่งของถูก แต่ส่งผิดช่องทาง

โจทย์
ส่งข้อความ/ของให้ลูกค้า
ปัญหา
ระบบทำงานสำเร็จ แต่ลูกค้าไม่ได้รับ
แก้ไข
ส่งผ่านช่องทางที่ผูกกับลูกค้าคนนั้นจริง ๆ (ไม่ใช่ช่องกลาง)
ผลลัพธ์
ของถึงมือลูกค้า
07
CASE

ทำผลลัพธ์ให้ดู "มืออาชีพ"

โจทย์
ข้อความที่ส่งลูกค้าควรดูดี น่าเชื่อถือ
แก้ไข
ทำเป็นการ์ดสวย ใส่ข้อมูลจริง (ชื่อ/วัน/สถานที่) + สีแบรนด์
ผลลัพธ์
ลูกค้ารู้สึกว่าเป็นระบบจริงจัง ไม่ใช่ข้อความดิบ
08
CASE

กันการกดผิด — เลือกก่อนทำ

ปัญหา
ปุ่ม "ส่ง" = ยิงหาทุกคนทันที (น่ากลัว กดพลาดแย่)
แก้ไข
เด้งให้เลือกผู้รับ + ยืนยันก่อน ค่อยส่ง
ผลลัพธ์
ควบคุมได้ ปลอดภัย ไม่ส่งผิด

การกระทำที่ ย้อนไม่ได้ ควรมีจังหวะให้ยืนยันเสมอ

09
CASE

ลูกค้ากดลิงก์แล้ว Error

ปัญหา
ลูกค้ากดเปิดไฟล์/ลิงก์ → เจอ error
แก้ไข
ดู log จริงตอนเกิดเหตุ → เจอสาเหตุที่มองด้วยตาไม่เห็น → แก้ตรงจุด
ผลลัพธ์
เปิดได้ + กันเคสเดียวกันทั้งระบบ

บทเรียน: debug = หาหลักฐาน ไม่ใช่เดา

10
CASE

ปรับ UX ให้ใช้ลื่นขึ้น

เล็ก ๆ 1
ดูเอกสาร/รูป → เปิดในหน้าต่างเดิม (ไม่เด้งแท็บใหม่)
เล็ก ๆ 2
ปุ่ม Back ของเบราว์เซอร์ + bookmark ใช้ได้ (URL จำหน้า)
ผลลัพธ์
ของเล็ก ๆ ที่ทำให้ทั้งระบบรู้สึกดีขึ้น
CASE ใหญ่ · เรื่องเล่าหลัก

ปัญหาที่
ติดหนัก แก้หลายรอบ

บทเรียนสำคัญสุด: "หยุดเดา + กล้าตัดต้นตอ"

11
องก์ 1

อาการ + ตั้งสมมติฐาน

อาการ
ลูกค้ากดปุ่ม → เปิดหน้าไม่ได้ ขึ้น error
เบาะแส
เช็คแล้วพบ error เกิดก่อนถึงระบบเรา = อยู่ที่ขั้นตอนยืนยันตัวตน
ลองหลายวิธี
พยายาม "หลบ" หลายแบบ — ไม่ผ่านสักอัน
12
องก์ 2

หาหลักฐาน ตัดสาเหตุทีละข้อ

ยิ่งตัดทิ้งได้มาก ยิ่งเข้าใกล้ต้นตอจริง

13
องก์ 3 · ตอนจบ

ทางออก = ตัดต้นตอ ไม่ใช่หลบ

คำถามพลิกเกม
"สิ่งที่ทำให้ยุ่งยากนี้ — เราต้องการมันจริงไหม?"
คำตอบ
พบว่าไม่จำเป็นเลย (ใส่มาเกินความต้องการ)
ผลลัพธ์
ตัดทิ้ง → ปัญหาหายทันที

บทเรียน: กล้าลบความซับซ้อนที่ไม่จำเป็น ดีกว่าฝืนแก้ไปเรื่อย ๆ

14
CASE

เครื่องมือก็มีปัญหาของมัน

ปัญหา
จะปล่อยงานขึ้นจริง แต่ ระบบไม่ให้ทำ (สิทธิ์/บัญชีผิด)
แก้ไข
เช็คว่าตอนนี้ใช้บัญชีไหน → เข้าสู่ระบบใหม่ให้ถูกบัญชี
ผลลัพธ์
ปล่อยงานได้

งานจริงมี ความติดขัดของเครื่องมือ ที่โค้ดอย่างเดียวแก้ไม่ได้

15
CASE

ส่งของผิด "ชนิด" ให้ลูกค้า

ปัญหา
ลิงก์ที่ส่งลูกค้า กดแล้ว "เปิดไม่ได้"
แก้ไข
ที่จริงมันคือไฟล์ติดตั้ง ไม่ใช่หน้าเว็บ → เปลี่ยนไปส่งของที่ลูกค้าเปิดดูได้
ผลลัพธ์
ลูกค้าได้ของที่ใช้ได้จริง ไม่งง

เลือกชนิดของที่ส่งให้ตรงกับสิ่งที่ลูกค้าจะทำกับมัน

16
CASE

เพิ่มฟีเจอร์ตามที่ลูกค้าขอ

โจทย์
ลูกค้าขอ "เลื่อนวัน / ถอนรายการ"
เทคนิค
เช็คก่อน — หลายอย่างระบบทำได้อยู่แล้ว เพิ่มแค่ปุ่ม
ผลลัพธ์
ได้ฟีเจอร์เร็ว · "ถอน" = ซ่อนไว้ ไม่ลบถาวร (เก็บประวัติ)

ก่อนสร้างใหม่ — เช็คก่อนว่ามีอยู่แล้วไหม

17
CASE

เพิ่มข้อมูลใหม่ อย่างปลอดภัย

โจทย์
เพิ่มที่เก็บข้อมูลใหม่ (เช่น แท็ก / ประวัติกิจกรรมลูกค้า)
ความเสี่ยง
เปลี่ยนโครงสร้างข้อมูลตอนมีคนใช้อยู่ = อันตราย
แก้ไข
แยกขั้น + เผื่อให้ระบบทำงานได้แม้ยังไม่อัปเดตข้อมูล
ผลลัพธ์
เพิ่มของใหม่ได้โดยไม่ทำของเดิมล่ม
สรุปวิธีคิด

เทคนิค Debug (ใช้ได้กับทุกอย่าง)

คู่มือคำสั่ง (แนวคิด)

ทำซ้ำได้ทุกโปรเจกต์

เช็คให้ถูกก่อนปล่อยตรวจไฟล์ก่อน deploy เสมอ
ปล่อยงานขึ้นจริงdeploy (เว็บ / ระบบหลังบ้าน แยกกัน)
ดู log สดเปิด log ตอนเกิดปัญหา
เช็คสถานะ/บัญชีรู้ว่าใช้บัญชีไหนอยู่
ทดสอบไว ๆยิงทดสอบดูว่า "ผ่าน/ไม่ผ่าน"
บันทึกเวอร์ชันcommit เป็นช่วง ๆ + ข้อความชัด
ระเบียบวินัย

ปล่อยงาน + เก็บข้อมูล ให้ปลอดภัย

ปิดคลาส

6 บทเรียน
จากงานจริง

Skills Lab · เบื้องหลังสร้างระบบจริง1 / 22