สารบัญ
📚 EP นี้เป็นตอนที่ 5 ของ mini-series Project Management 101 — สารบัญรวม อยู่ที่นี่
ทีม 5-15 คนเป็นจุดที่ methodology จริงจัง เริ่มมีประโยชน์ — เล็กกว่านี้ overhead เกินตัว, ใหญ่กว่านี้ต้อง scaled framework (EP.09)
ตอนนี้เน้น 4 methodology หลักที่เจอในทีมขนาดนี้: Scrum, Kanban, Lean, XP
ทุกตัวเป็นลูกหลานของ Agile Manifesto 2001 (ที่เล่าใน EP.01) — ค่านิยมเดียวกัน แต่จัดระเบียบต่างกัน
Scrum — methodology ที่ดังที่สุด
Origin: Jeff Sutherland รันทีมแรกปี 1993, Sutherland + Schwaber present ที่ OOPSLA 1995
ขนาดทีมที่เหมาะ: 5-9 คน (ไม่รวม PO + SM)
Concept หลัก: Sprint
Sprint = รอบเวลาตายตัว (timebox) ปกติ 2 อาทิตย์
ทุก sprint:
- Sprint Planning (ต้น sprint) — เลือก backlog item ที่จะทำใน sprint นี้
- Daily Standup (ทุกวัน, 15 นาที) — เมื่อวานทำอะไร, วันนี้จะทำอะไร, ติดอะไร
- Sprint Review (ปลาย sprint) — show ผลให้ stakeholder ดู
- Sprint Retrospective (หลัง review) — ทบทวน — อะไรดี อะไรควรปรับ
กฎเหล็กของ Sprint:
- Scope ไม่เปลี่ยนกลาง sprint — ถ้ามีเรื่องด่วน ใส่ sprint ถัดไป
- ส่งมอบ “potentially shippable” ทุก sprint — ไม่ใช่ work-in-progress
Roles (จาก EP.04)
- Product Owner — เจ้าของ backlog
- Scrum Master — facilitator + coach
- Developers — ทีมที่ build (3-9 คน)
Artifacts
- Product Backlog — รายการงานทั้งหมด (เรียงลำดับ)
- Sprint Backlog — งานที่ commit ใน sprint นี้
- Increment — ผลลัพธ์ที่ส่งมอบหลัง sprint
Scrum เหมาะเมื่อ
- ✅ Team co-located หรือ async + sync ได้
- ✅ Backlog prioritize ได้ (มี PO ที่ตัดสินใจเร็ว)
- ✅ ส่งมอบ increment ทุก 2 อาทิตย์ได้
- ✅ Team committed กับขนาดงาน sprint
Scrum ไม่เหมาะเมื่อ
- ❌ ทีมเล็กกว่า 3 คน (overhead เกิน)
- ❌ งาน continuous flow (support, ops) — ไม่ commit เป็น sprint ได้
- ❌ Hard deadline + fixed scope ใหญ่ (ยังคง challenge แม้ scrum)
- ❌ PO ตัดสินใจไม่ได้ — ทีม block ตลอดเวลา
Anti-pattern: “ScrumBut”
ทีมที่ใช้ Scrum แต่ ไม่ทำตาม guide:
- “ScrumBut เราไม่ retrospective”
- “ScrumBut PO เราตัดสินใจเองไม่ได้”
- “ScrumBut Sprint เรา 4 อาทิตย์เพราะ deploy ไม่บ่อย”
ScrumBut บ่อยๆ = Scrum ล้ม — เพราะค่านิยม core ถูก strip ออก
Kanban — flow-based, ไม่มี sprint
Origin: Toyota 1940s (ระบบ “kanban” = ป้ายชี้บอก inventory) → David Anderson นำมาใช้กับ software ปี 2010 ที่ Microsoft + Corbis
คำที่ Anderson บอก: “Kanban not Scrum, Kanban with Scrum, Kanban for everything else”
Concept หลัก: Visualize + Limit WIP
Kanban Board หน้าตา:
| Backlog | To Do | In Progress | Review | Done || | | (limit: 3) | | |กฎเหล็ก:
- Visualize — งานทุกอย่างต้องอยู่บน board
- Limit WIP (Work In Progress) — จำนวน item ใน “In Progress” ห้ามเกิน X
- Manage flow — measure time จาก “To Do” → “Done”
- Make policies explicit — เขียนกติกาชัด
- Implement feedback loops — review เป็นระยะ
- Improve collaboratively — kaizen
ทำไม WIP limit สำคัญ?
ลองนึกร้านอาหาร — ถ้าเชฟทำ 10 เมนูพร้อมกัน vs 2 เมนูพร้อมกัน
- 10 พร้อมกัน: เริ่มทุกเมนู, ไม่มีเมนูไหนเสร็จ, ลูกค้ารอนาน
- 2 พร้อมกัน: เสร็จเมนูที่ 1 แล้วเริ่มเมนูใหม่, ลูกค้าได้กินเร็ว, queue หมุนเร็วกว่า
นี่คือ flow — Kanban เน้น throughput ไม่ใช่ utilization
Kanban เหมาะเมื่อ
- ✅ Continuous flow ของงาน (support, ops, content marketing)
- ✅ Priority เปลี่ยนบ่อย (sprint commitment ผิด)
- ✅ ไม่มี natural cadence (releases ตามต้องการ)
- ✅ ทีมที่ Scrum ไม่เหมาะ
Kanban ไม่เหมาะเมื่อ
- ❌ ต้องการ hard delivery commitment by date X
- ❌ ทีมยังไม่มีวินัย — Kanban ต้องการ self-discipline สูงกว่า Scrum
Lean — Toyota Production System
Origin: Taiichi Ohno + Eiji Toyoda ที่ Toyota หลัง WW2 — popularize โดย The Machine That Changed the World (1990)
Software adaptation: Mary + Tom Poppendieck Lean Software Development (2003)
Core idea: ขจัด waste (มุดะ — 無駄)
7 wastes ใน Lean:
- Overproduction — สร้างเกินจำเป็น
- Waiting — งานรอ approval, รอ resource
- Transport — โอนงานข้ามทีมไม่จำเป็น
- Over-processing — ทำเกินที่ลูกค้าต้องการ
- Inventory — มี backlog เก่า ไม่ได้ทำ
- Motion — task switching, meeting ไม่จำเป็น
- Defects — bug ที่ต้องกลับมาแก้
หลักการสำคัญของ Lean
- Eliminate waste
- Amplify learning
- Decide as late as possible (สูงสุดของข้อมูล)
- Deliver as fast as possible
- Empower team
- Build integrity in (quality ใน process)
- See the whole
Lean เหมาะเมื่อ
- ✅ Repetitive value-stream (manufacturing, ops)
- ✅ บริษัทมี culture kaizen
- ✅ Long-term commitment
Lean ไม่เหมาะเมื่อ
- ❌ One-off creative R&D (waste = experiment ที่จำเป็น)
- ❌ บริษัทที่ KPI สั้น
XP — Extreme Programming
Origin: Kent Beck ที่ Chrysler C3 payroll project ปี 1996 — book ปี 1999
Idea: เอา best practice ของ software engineering แล้ว “extreme” ขึ้น — ทำมากๆ, ทำตลอด
Practices หลัก
1. Pair Programming 2 คน 1 keyboard — driver (พิมพ์) + navigator (review real-time)
- ✅ Code quality ดี
- ❌ คนยอมรับยาก (“ไม่ productive”)
2. Test-Driven Development (TDD)
- เขียน test ก่อน → run (fail) → เขียน code → run (pass) → refactor
- เป็น discipline ที่ requires practice
3. Continuous Integration
- Merge code เข้า main branch หลายๆ ครั้งต่อวัน
- Run automated test ทุก merge
4. Small Releases
- Deploy production บ่อย (รายวัน, รายอาทิตย์)
5. Refactoring
- Improve code structure ตลอด — ไม่ใช่ “refactor week” ปีละครั้ง
6. On-site Customer
- ลูกค้าจริงนั่งกับทีม → ตอบคำถามได้ทันที
XP เหมาะเมื่อ
- ✅ Software team ที่ co-located
- ✅ Code quality สำคัญสูง
- ✅ ลูกค้ายอม dedicate คน
XP ไม่เหมาะเมื่อ
- ❌ Distributed team (pair programming ยาก)
- ❌ ลูกค้าไม่ยอม pair / on-site
- ❌ Non-software work
XP + Scrum รวมกันได้ไหม?
ได้ — ปกติเรียก “Scrum + XP” หรือ “Scrum-XP Hybrid”:
- Scrum = process framework
- XP = engineering practice
หลายทีมทำแบบนี้ — ใช้ Scrum โครง + XP สำหรับ code
เปรียบเทียบสั้นๆ
| Scrum | Kanban | Lean | XP | |
|---|---|---|---|---|
| Cadence | Sprint 2-4 อาทิตย์ | ไม่มี | flow continuous | small release |
| Roles | PO, SM, Dev | flexible | flexible | Customer, Coach |
| WIP limit | Sprint backlog | Per column | flow | flexible |
| Best for | New product dev | Support, ops, marketing | Manufacturing, value stream | Code quality |
| เริ่มยาก/ง่าย | ปานกลาง | ง่ายสุด | ยาก (mindset) | ยาก (discipline) |
ทำไม methodology ไม่ใช่ทุกอย่าง
Spotify, Basecamp, Apple ไม่ใช้ Scrum หรือ Kanban เต็มรูปแบบ — ใช้สิ่งที่เหมาะกับตัวเอง
Lesson: Framework เป็น starting point — ไม่ใช่ฝั่งสุดท้าย
ทีม Mature มักผสม:
- Scrum cadence + XP engineering
- Kanban board + lightweight retrospective
- 6-week cycle (Basecamp Shape Up) — ไม่ใช่ Scrum, ไม่ใช่ Kanban, แต่ work
กฎสำคัญที่สุด: Methodology ต้อง serve ทีม ไม่ใช่ทีม serve methodology
Anti-pattern ที่เห็นบ่อย
1. “Cargo Cult Scrum” — copy ceremonies ของ Scrum โดยไม่เข้าใจ value
- มี standup แต่คนแค่รายงานสถานะ ไม่ raise blocker
- มี retrospective แต่ไม่มี action item ที่เปลี่ยนอะไร
- มี sprint planning แต่ scope เปลี่ยนกลาง sprint ทุกครั้ง
2. “Kanban as Excuse” — ใช้ Kanban เป็นข้ออ้างไม่ commit
- ไม่ตั้ง WIP limit
- ไม่ measure cycle time
- “เราใช้ Kanban เพราะไม่ชอบ deadline”
3. “Agile but Waterfall” — กระบวนการเป็น Waterfall, แต่เปลี่ยนชื่อ
- “Sprint” ที่จริงคือ phase
- “User Story” ที่จริงคือ requirement spec
- ไม่มี real iteration
สรุป EP นี้
- Scrum: Sprint 2-4 อาทิตย์, 3 ceremonies, fixed scope ภายใน sprint — เหมาะ product dev
- Kanban: Flow-based, WIP limit, no sprint — เหมาะ support/ops/marketing
- Lean: Eliminate waste, kaizen — Toyota DNA — เหมาะ manufacturing + value stream
- XP: Engineering practice — pair programming, TDD, CI, refactoring — เหมาะ code quality
- กฎสำคัญ: Framework ต้อง serve ทีม ไม่ใช่ทีม serve framework
- Cargo Cult Scrum เป็น anti-pattern ที่เจอบ่อยสุด
EP ต่อไปเรื่องคน — Stakeholder Management + Change Management ทำไมโปรเจคล้มเพราะคน ไม่ใช่เพราะ tech