Backlog (แบ็คล็อก) คืออะไร?
Backlog คือรายการงานที่จัดลำดับความสำคัญใน Scrum และ Agile เรียนรู้ความแตกต่างระหว่าง Product Backlog กับ Sprint Backlog
คำจำกัดความ
Backlog (แบ็คล็อก) หรือ รายการงานค้าง ในภาษาไทย คือรายการงานที่ จัดลำดับความสำคัญ แล้ว ซึ่งทีมพัฒนาจะต้องดำเนินการ รายการเหล่านี้มาจากแผนที่ถนน (Roadmap) วิสัยทัศน์ของผลิตภัณฑ์ และข้อกำหนดจากผู้มีส่วนได้ส่วนเสีย (Stakeholders)
ใน Scrum และ Agile คำว่า Backlog เป็นหนึ่งในแนวคิดที่สำคัญที่สุด เพราะเป็น แหล่งข้อมูลหลักเดียว (Single Source of Truth) ที่ระบุว่าทีมจะทำอะไร เมื่อไหร่ และทำไม
คำว่า "Backlog" ในภาษาอังกฤษหมายถึง "งานที่สะสมรอดำเนินการ" ในบริบทของการพัฒนาซอฟต์แวร์ มันคือ รายการงานที่มีชีวิต ที่เปลี่ยนแปลงตลอดเวลาตามข้อมูลใหม่ Feedback จากผู้ใช้ และการเปลี่ยนแปลงของตลาด
ความสำคัญของ Backlog
Backlog มีความสำคัญด้วยเหตุผลหลายประการ:
1. เป็นเครื่องมือวางแผน
Backlog ทำหน้าที่เป็น รายการงานของโครงการ ที่ช่วยให้ทีมมองเห็นภาพรวมของงานทั้งหมดที่ต้องทำ ตั้งแต่ Feature ใหม่ไปจนถึงการแก้ Bug และ หนี้ทางเทคนิค (Technical Debt)
2. ส่งเสริมการจัดลำดับความสำคัญ
ไม่ใช่ทุกงานมีความสำคัญเท่ากัน Backlog บังคับให้เรา ตัดสินใจ ว่าอะไรควรทำก่อนและอะไรสามารถรอได้ สิ่งนี้ป้องกันปัญหา "ทำทุกอย่างพร้อมกัน" ที่ทำให้ไม่มีอะไรเสร็จ
3. สร้างความโปร่งใส
ทุกคนในทีมสามารถเห็น Backlog ได้ ทำให้เกิด ความเข้าใจร่วมกัน เกี่ยวกับทิศทางของผลิตภัณฑ์ ตั้งแต่ Developer ไปจนถึงผู้บริหาร
4. รองรับการเปลี่ยนแปลง
Backlog เป็น เอกสารมีชีวิต ที่เปลี่ยนแปลงได้ตลอดเวลาตามข้อมูลใหม่และความต้องการที่เปลี่ยนไป ต่างจากเอกสาร Requirements แบบเดิมที่ "ล็อก" ตั้งแต่ต้น
5. วัดความคืบหน้าได้
ทีมสามารถติดตามว่า Backlog หดเล็กลงหรือเติบโตขึ้น ช่วยในการ Forecast ว่าจะเสร็จเมื่อไหร่
ประเภทของรายการใน Backlog
Backlog ประกอบด้วยรายการหลายประเภท:
| ประเภท | คำอธิบาย | ตัวอย่าง |
|---|---|---|
| User Story | ความต้องการจากมุมมองผู้ใช้ | "ในฐานะลูกค้า ฉันต้องการค้นหาร้านอาหาร" |
| Feature | ฟังก์ชันระดับสูง | ระบบชำระเงินออนไลน์ |
| Bug | ข้อบกพร่องที่ต้องแก้ไข | ปุ่ม "สั่งซื้อ" ไม่ทำงานบน iOS 17 |
| Technical Debt | หนี้ทางเทคนิค | Refactor ระบบ Authentication เก่า |
| Spike | งานวิจัย/สำรวจ | ทดสอบ Payment Gateway ตัวใหม่ |
| Improvement | การปรับปรุง | เพิ่มความเร็วหน้าค้นหา 50% |
| Enabler | งานเตรียมพื้นฐาน | ตั้งค่า CI/CD Pipeline |
การจัดลำดับความสำคัญของ Backlog
การจัดลำดับความสำคัญเป็นหัวใจของการจัดการ Backlog มีเทคนิคหลายวิธี:
MoSCoW Method
- Must have: ต้องมี — ขาดไม่ได้ สำคัญต่อ MVP
- Should have: ควรมี — สำคัญแต่ไม่ใช่ขั้นวิกฤต
- Could have: อาจมี — เป็นสิ่งที่ดีแต่ไม่จำเป็น
- Won't have: ไม่ต้องมี — ตัดออกจากรอบนี้
WSJF (Weighted Shortest Job First)
ใช้ใน SAFe โดยคำนวณจากสูตร: WSJF = Cost of Delay / Job Duration
Cost of Delay ประกอบด้วย:
- User-Business Value: คุณค่าต่อผู้ใช้และธุรกิจ
- Time Criticality: ความเร่งด่วน (ยิ่งช้ายิ่งเสียหาย)
- Risk Reduction / Opportunity Enablement: การลดความเสี่ยงหรือเปิดโอกาส
งานที่มีค่า WSJF สูงสุดควรทำก่อน เพราะหมายถึงงานที่ มีคุณค่าสูง และ ใช้เวลาน้อย
Value vs. Effort Matrix
จัดกลุ่มรายการตามสองแกน:
- คุณค่าสูง + ความพยายามต่ำ = ทำก่อน (Quick Wins)
- คุณค่าสูง + ความพยายามสูง = วางแผนอย่างดี (Big Bets)
- คุณค่าต่ำ + ความพยายามต่ำ = ทำเมื่อว่าง (Fill-ins)
- คุณค่าต่ำ + ความพยายามสูง = ไม่ทำ (Money Pit)
RICE Scoring
ใช้กันแพร่หลายในบริษัทเทคโนโลยี:
- Reach: จำนวนผู้ใช้ที่ได้รับผลกระทบ
- Impact: ผลกระทบต่อผู้ใช้แต่ละคน (1-3)
- Confidence: ระดับความมั่นใจ (%)
- Effort: ความพยายามที่ต้องใช้ (person-months)
RICE Score = (Reach x Impact x Confidence) / Effort
Kano Model
จัดหมวดหมู่ Feature ตามความพึงพอใจของลูกค้า:
- Basic (พื้นฐาน): ถ้าไม่มี ลูกค้าไม่พอใจ แต่ถ้ามี ก็ไม่ตื่นเต้น (เช่น ระบบ Login)
- Performance (ประสิทธิภาพ): ยิ่งดียิ่งพอใจ (เช่น ความเร็วในการโหลด)
- Excitement (ความตื่นเต้น): ถ้ามี ลูกค้าตื่นเต้น ถ้าไม่มีก็ไม่เสียหาย (เช่น AI แนะนำอาหาร)
Backlog Refinement (การปรับปรุง Backlog)
Backlog Refinement (เดิมเรียก Backlog Grooming) เป็นกิจกรรมสำคัญที่ทีมทำเป็นประจำ ใน Scrum Guide กำหนดให้ใช้เวลาไม่เกิน 10% ของเวลาใน Sprint:
กิจกรรมใน Refinement
- ชี้แจงรายละเอียด: อธิบาย User Stories ให้ชัดเจนขึ้น เขียน Acceptance Criteria ในรูปแบบ Given-When-Then
- ประมาณขนาด: ใช้ Story Points หรือ T-Shirt Sizing
- แตกรายการ: แบ่งรายการใหญ่ (Epic/Feature) ออกเป็นรายการเล็ก (User Stories) ที่จัดการได้ใน 1 Sprint
- จัดลำดับใหม่: ปรับลำดับตามข้อมูลและสถานการณ์ใหม่
- ลบรายการที่ไม่จำเป็น: กำจัดสิ่งที่ล้าสมัยหรือไม่มีคุณค่าอีกต่อไป
- เพิ่มเงื่อนไขการยอมรับ: กำหนด Definition of Ready สำหรับแต่ละรายการ
แนวปฏิบัติที่ดี
- จัดทำ Refinement สัปดาห์ละ 1-2 ครั้ง ครั้งละ 30-60 นาที
- ใช้เวลาประมาณ 5-10% ของเวลาทั้ง Sprint
- เชิญ ทั้งทีม เข้าร่วม ไม่ใช่แค่ Product Owner
- รายการที่อยู่ บนสุด ของ Backlog ควรมีรายละเอียดมากที่สุด (รายการล่างๆ อาจเป็นแค่หัวข้อ)
- ใช้หลัก "2 Sprint Rule": รายการที่จะทำใน 2 Sprint ถัดไปต้อง Ready
Iceberg Model ของ Backlog
Backlog ที่ดีมีลักษณะคล้ายภูเขาน้ำแข็ง:
┌──────────────────┐ │ Sprint นี้ │ ← รายละเอียดมาก, Story Points ประมาณแล้ว │ (Ready) │ Acceptance Criteria ครบ ├──────────────────┤ │ Sprint หน้า │ ← มีรายละเอียดปานกลาง │ (In Refinement) │ กำลัง Refine อยู่ ├──────────────────┤ │ 2-3 Sprint ถัดไป │ ← เป็น Feature/Epic ใหญ่ๆ │ (Rough Ideas) │ ยังไม่แตก Story ├──────────────────┤ │ อนาคตไกล │ ← แค่ไอเดีย │ (Vision) │ อาจทำหรือไม่ทำก็ได้ └──────────────────┘
Product Backlog กับ Sprint Backlog
ใน Scrum มี Backlog สองประเภทที่สำคัญ:
Product Backlog
| หัวข้อ | รายละเอียด |
|---|---|
| เจ้าของ | Product Owner |
| เนื้อหา | ทุกสิ่งที่ต้องทำสำหรับผลิตภัณฑ์ |
| ขอบเขต | ยาวนาน — ตลอดอายุของผลิตภัณฑ์ |
| การเปลี่ยนแปลง | เปลี่ยนแปลงได้ตลอดเวลา |
| ลักษณะ | จัดลำดับ (Ordered) ไม่ใช่จัดอันดับ |
| เป้าหมาย | Product Goal |
Sprint Backlog
| หัวข้อ | รายละเอียด |
|---|---|
| เจ้าของ | Developers |
| เนื้อหา | รายการ PBI ที่เลือกสำหรับ Sprint นี้ + แผนการทำงาน |
| ขอบเขต | 1 Sprint (1-4 สัปดาห์) |
| การเปลี่ยนแปลง | Developers สามารถเพิ่ม/ลบ Tasks ได้ แต่ Sprint Goal ไม่เปลี่ยน |
| ลักษณะ | มี Sprint Goal เป็นเป้าหมายชัดเจน |
ความสัมพันธ์
Product Backlog Sprint Backlog ┌──────────────────┐ ┌──────────────────┐ │ PBI #1 ★★★★★ │ ──────> │ PBI #1 │ │ PBI #2 ★★★★ │ ──────> │ PBI #2 │ │ PBI #3 ★★★★ │ ──────> │ PBI #3 │ │ PBI #4 ★★★ │ │ │ │ PBI #5 ★★ │ │ + Sprint Goal │ │ PBI #6 ★★ │ │ + แผนการทำงาน │ │ ... │ └──────────────────┘ └──────────────────┘ ↑ Sprint Planning ↑
ตัวอย่างจริง: แอปส่งอาหารในไทย
Product Backlog ของแอปส่งอาหาร:
- ระบบค้นหาร้านอาหารใกล้เคียงด้วย GPS (Must have) ★★★★★
- ระบบชำระเงินผ่าน PromptPay (Must have) ★★★★★
- ระบบติดตามไรเดอร์แบบ Real-time (Must have) ★★★★
- ระบบรีวิวร้านอาหาร (Should have) ★★★★
- โปรแกรมสะสมแต้ม (Could have) ★★★
- ระบบแนะนำอาหารด้วย AI (Won't have — รอบนี้) ★★
- การจองร้านอาหาร (Won't have) ★
Sprint Backlog (Sprint ที่ 1):
- Sprint Goal: "ผู้ใช้สามารถค้นหาและสั่งอาหารจากร้านใกล้เคียงได้"
- User Story 1: ค้นหาร้านตามตำแหน่ง GPS → Task: สร้าง API ค้นหา, สร้าง UI แผนที่
- User Story 2: ดูเมนูของร้าน → Task: สร้างหน้าเมนู, สร้าง API ดึงข้อมูลเมนู
- User Story 3: เพิ่มอาหารลงตะกร้า → Task: สร้างระบบตะกร้า, สร้าง UI ตะกร้า
- User Story 4: ยืนยันคำสั่งซื้อ → Task: สร้างหน้ายืนยัน, สร้างระบบ Notification
เครื่องมือจัดการ Backlog
| เครื่องมือ | จุดเด่น | ราคา | เหมาะกับ |
|---|---|---|---|
| Jira | ครบวงจร, รองรับ SAFe, Reporting | $$$ | องค์กรขนาดใหญ่ |
| Trello | ใช้ง่าย, Kanban Board | ฟรี-$ | ทีมขนาดเล็ก |
| Azure DevOps | รวม CI/CD, ดีกับ .NET | $$ | ทีม Microsoft |
| Linear | เร็ว, UX ดี, Keyboard shortcuts | $ | สตาร์ทอัพ |
| Notion | All-in-one, ยืดหยุ่น | ฟรี-$$ | ทีมที่ต้องการ Docs + Tasks |
| ClickUp | Features เยอะ, ปรับแต่งได้ | ฟรี-$$ | ทีมข้ามสายงาน |
| GitHub Projects | ใกล้ชิดโค้ด, ฟรี | ฟรี | ทีม Developer |
Backlog Health Metrics
วิธีวัดว่า Backlog "แข็งแรง" หรือไม่
| เมตริก | สัญญาณดี | สัญญาณร้าย |
|---|---|---|
| ขนาด | 3-6 เดือนของงาน | มากกว่า 1 ปี (Backlog อ้วน) |
| อายุเฉลี่ยของรายการ | < 3 เดือน | > 6 เดือน (รายการเก่าสะสม) |
| % Ready Items | > 2 Sprint ข้างหน้า | < 1 Sprint ข้างหน้า |
| Refinement Cadence | สม่ำเสมอ 1-2 ครั้ง/สัปดาห์ | ไม่สม่ำเสมอ หรือไม่ทำเลย |
| ความหลากหลาย | มีทั้ง Feature, Bug, Tech Debt | Feature อย่างเดียว (ละเลย Tech Debt) |
Anti-patterns ของ Backlog
- Backlog อ้วน: มีรายการ 500+ รายการ ไม่มีใครรู้ว่าอะไรสำคัญ
- Zombie Backlog Items: รายการที่อยู่มานานหลายเดือน ไม่มีใครทำ ไม่มีใครลบ
- Backlog เป็นทางการเกินไป: ต้องเขียนรายละเอียดครบถ้วนก่อนใส่ Backlog
- Product Owner ไม่ดูแล: Backlog ไม่ถูก Refine สม่ำเสมอ
- ไม่มี Product Goal: Backlog เป็นแค่ "รายการสิ่งที่ต้องทำ" โดยไม่มีทิศทาง
Backlog ในบริบทธุรกิจไทย
ความท้าทายเฉพาะ
- "ผู้ใหญ่ขอ" (HiPPO): ในวัฒนธรรมไทย การจัดลำดับ Backlog อาจถูกอิทธิพลจาก "ความต้องการของผู้บริหาร" มากกว่าข้อมูล (HiPPO = Highest Paid Person's Opinion)
- ขาด Product Owner ที่มีอำนาจจริง: PO ไทยหลายคนไม่มีอำนาจตัดสินใจ ต้องขอ Approval จากหลายชั้น
- Scope Creep: ลูกค้าหรือผู้บริหารเพิ่มงานเข้ามาตลอดโดยไม่ลบอะไรออก
- ไม่กล้าพูด "ไม่": วัฒนธรรมที่หลีกเลี่ยงความขัดแย้งทำให้ Backlog เต็มไปด้วยรายการที่ไม่มีใครกล้าตัดออก
แนวทางสำหรับทีมไทย
- ใช้ข้อมูล: นำเสนอ Data (User Analytics, A/B Test Results) ประกอบการจัดลำดับ แทนที่จะพึ่ง "ความรู้สึก" หรือ "ผู้ใหญ่สั่ง"
- ทำ Backlog Cleanup ทุกเดือน: ลบรายการที่ไม่ทำมานานกว่า 3 เดือน
- ตั้ง WIP Limit สำหรับ Backlog: จำกัดจำนวนรายการใน Backlog เช่น ไม่เกิน 100 รายการ
- สอน Stakeholders เรื่อง Trade-off: "ถ้าเพิ่ม Feature A เข้ามา ต้องเลื่อน Feature B ออกไป"
Backlog เป็นเอกสารมีชีวิต
Backlog ไม่ใช่เอกสารที่เขียนแล้วจบ มันคือ เอกสารมีชีวิต ที่ควร:
- เติบโต ตามที่ทีมเรียนรู้เพิ่มเติมจาก Sprint Review และ Feedback ของผู้ใช้
- หดตัว เมื่อรายการที่ไม่จำเป็นถูกตัดออกอย่างกล้าหาญ
- ปรับลำดับ ตามข้อมูลใหม่จากตลาดและผู้ใช้
- สะท้อนความจริง ของสิ่งที่ต้องทำเสมอ ไม่ใช่ "Wishlist" ที่ไม่มีวันทำ
Product Owner ที่ดีจะทำให้ Backlog สะอาด ชัดเจน และทันสมัย อยู่เสมอ เปรียบได้กับ "สวนที่ต้องดูแล" — ต้องรดน้ำ (Refine) ตัดแต่ง (Remove) และปลูกใหม่ (Add) อย่างสม่ำเสมอ
คำถามที่พบบ่อย
Backlog กับ To-Do List ต่างกันอย่างไร?
To-Do List เป็นแค่รายการงาน ส่วน Backlog มีการ จัดลำดับความสำคัญ มี เจ้าของ (Product Owner) มี กระบวนการปรับปรุง (Refinement) และเชื่อมโยงกับ เป้าหมาย (Product Goal) Backlog เป็น เครื่องมือเชิงกลยุทธ์ ไม่ใช่แค่รายการงาน
ใครเป็นคนตัดสินใจว่าอะไรเข้า Backlog?
Product Owner เป็นผู้มีอำนาจสูงสุดในการจัดการ Product Backlog ตาม Scrum Guide แต่ข้อมูลมาจากหลายแหล่ง: Stakeholders, ทีมพัฒนา, ข้อมูลผู้ใช้, และกลยุทธ์ธุรกิจ
Backlog ควรมีกี่รายการ?
ไม่มีตัวเลขตายตัว แต่โดยทั่วไป Product Backlog ที่ดีควรมีงาน 3-6 เดือน ข้างหน้า สำหรับทีม Scrum ที่ทำ 2-week Sprint ประมาณ 50-100 รายการ หากมากกว่า 200 รายการ อาจต้อง Cleanup
ควรใส่ Bug ใน Backlog หรือแก้ทันที?
ขึ้นอยู่กับความรุนแรง:
- Critical Bug (ระบบล่ม, ข้อมูลรั่ว): แก้ทันที ไม่ต้องใส่ Backlog
- Major Bug (ฟังก์ชันหลักใช้ไม่ได้): ใส่ Backlog อันดับสูง
- Minor Bug (ปัญหาเล็กน้อย): ใส่ Backlog จัดลำดับตามปกติ
Backlog Refinement ใช้เวลาเท่าไหร่?
Scrum Guide แนะนำ ไม่เกิน 10% ของเวลา Sprint สำหรับ Sprint 2 สัปดาห์ คือประมาณ 4-8 ชั่วโมง ทั้ง Sprint แบ่งเป็นสัปดาห์ละ 1-2 ชั่วโมง
Product Backlog กับ Sprint Backlog — อันไหนสำคัญกว่า?
ทั้งสองสำคัญแต่ต่างระดับ Product Backlog คือ "อะไร" ที่จะทำในระยะยาว ส่วน Sprint Backlog คือ "อะไร" ที่จะทำในระยะสั้น (Sprint นี้) ไม่มี Sprint Backlog ที่ดีถ้า Product Backlog ไม่ดี
สรุป
Backlog เป็น หัวใจของการจัดการงาน ในรูปแบบ Agile และ Scrum ไม่ว่าจะเป็น Product Backlog ที่แสดงวิสัยทัศน์ของผลิตภัณฑ์ทั้งหมด หรือ Sprint Backlog ที่ระบุงานของ Sprint ปัจจุบัน Backlog ที่ดีจะช่วยให้ทีม โฟกัส กับสิ่งที่สำคัญ ส่งมอบคุณค่า อย่างต่อเนื่อง และ ตอบสนองต่อการเปลี่ยนแปลง ได้อย่างคล่องตัว กุญแจสำคัญคือ: Refine อย่างสม่ำเสมอ จัดลำดับด้วยข้อมูล และกล้าตัดรายการที่ไม่จำเป็นออก
ต้องการเรียนรู้เพิ่มเติมหรือไม่?
หากคุณอยากทราบเพิ่มเติมเกี่ยวกับ Backlog, ติดต่อฉันผ่าน X ฉันชอบแบ่งปันความคิด ตอบคำถาม และพูดคุยเกี่ยวกับความน่าสนใจในหัวข้อนี้ อย่าลังเลที่จะเข้ามาพูดคุยกันนะ แล้วเจอกัน!
Agile Manifesto คืออะไร?
Agile Manifesto เป็นเอกสารที่สร้างขึ้นเมื่อวันที่ 12 กุมภาพันธ์ 2001 โดยผู้...
What is a Sprint?
Sprint คือระยะเวลาที่กำหนดไว้ (Time-box) ที่ทีม Scrum ทำงานเพื่อเสร็จสิ้นงา...
What is the Sprint Review?
Sprint Review คือ เหตุการณ์ Scrum ที่เกิดขึ้นที่ท้าย Sprint ซึ่งจะมีการตรวจ...
Dual Track คืออะไร?
Dual Track คือแนวทางการจัดการโครงการที่รวมลักษณะการทำงานแบบ Iterative และยื...
What is Scrumban?
Scrumban คือ กรอบงานที่ผสมผสานหลักการของ Scrum และ Kanban โดยให้วิธีการที่ย...