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

Scrum เทียบกับ Kanban

เปรียบเทียบ Scrum กับ Kanban: sprint ที่มีกรอบเวลาเทียบกับการไหลต่อเนื่อง บทบาท การจำกัด WIP ตัวชี้วัด และตำแหน่งของบอร์ดแบบอิงรอบงานของ East Agile Tracker ที่อยู่ระหว่างทั้งสองแบบ

Scrum และ Kanban คือวิธีการ agile สองแบบที่ทีมนำมาเปรียบเทียบกันบ่อยที่สุด ทั้งสองทำให้งานมองเห็นได้ และทั้งสองมุ่งส่งมอบเป็นชิ้นเล็ก ๆ ความต่างอยู่ที่วิธีกำหนดจังหวะของงาน: Scrum วางแผนในกรอบเวลาที่ตายตัว ส่วน Kanban ดึงงานเข้ามาอย่างต่อเนื่องและจำกัดปริมาณงานที่กำลังทำอยู่พร้อมกัน

หน้านี้เปรียบเทียบทั้งสองแบบ สำหรับกลุ่มวิธีการทั้งหมด รวมถึง XP และ Lean ดู การพัฒนาแบบ Agile คืออะไร?

Scrum จัดงานเป็น sprint — กรอบเวลาที่ตายตัว โดยทั่วไปหนึ่งถึงสี่สัปดาห์ แต่ละ sprint เริ่มด้วยการวางแผน sprint ซึ่งทีมเลือกงานที่คาดว่าจะทำเสร็จ และจบด้วยการทบทวนสิ่งที่สร้างขึ้นและการย้อนมอง (retrospective) ถึงวิธีที่ทีมทำงาน

Scrum กำหนดบทบาทไว้สามบทบาท:

  • Product Owner — เป็นเจ้าของ product backlog และลำดับของมัน
  • Scrum Master — โค้ชทีมเรื่องกระบวนการและขจัดอุปสรรค
  • Developers — สร้างส่วนเพิ่ม (increment)

ตัววัดหลักคือ ความเร็ว: ปริมาณงานที่ทีมทำเสร็จต่อ sprint ซึ่งใช้เป็นฐานของแผน sprint ถัดไป ดู Velocity คืออะไร?

Kanban เริ่มจากเวิร์กโฟลว์ที่ทีมมีอยู่แล้ว รายการงานเคลื่อนไปบนบอร์ดที่มีคอลัมน์แทนขั้นตอนต่าง ๆ (เช่น To do → In progress → Review → Done) วิธีการนี้ตั้งอยู่บนแนวคิดสามข้อ:

  • ทำให้เวิร์กโฟลว์มองเห็นได้ — ทุกรายการและทุกขั้นตอนอยู่บนบอร์ด
  • จำกัดงานที่กำลังทำ (WIP) — แต่ละคอลัมน์มีเพดาน รายการใหม่จะเข้าได้ก็ต่อเมื่อมีรายการหนึ่งออกไป
  • จัดการการไหล — ทีมวัดว่ารายการใช้เวลานานเท่าไร (cycle time, lead time) และขจัดคอขวด

Kanban ไม่มีกรอบเวลาและไม่กำหนดบทบาท การวางแผนเกิดขึ้นเมื่อใดก็ตามที่คิวต้องการเติม

ScrumKanban
จังหวะsprint ตายตัว (1–4 สัปดาห์)การไหลต่อเนื่อง
การผูกมัดงานที่วางแผนไว้สำหรับ sprintไม่ผูกมัดเป็นชุด ดึงเข้ามาเมื่อมีกำลัง
บทบาทProduct Owner, Scrum Master, Developersไม่กำหนด
การเปลี่ยนแปลงกลางรอบไม่สนับสนุนภายใน sprintทำได้ตลอดเวลา
การจำกัดงานความจุของ sprintการจำกัด WIP ต่อคอลัมน์
ตัวชี้วัดหลักความเร็ว, burndowncycle time, lead time, throughput
บอร์ดรีเซ็ตทุก sprintคงอยู่ต่อเนื่อง

โดยทั่วไปไม่มีวิธีใดดีกว่ากัน Scrum เหมาะกับทีมที่ต้องการจังหวะการวางแผนที่สม่ำเสมอและการคาดการณ์ที่สร้างจาก sprint ที่ผ่านมา เช่น ทีมผลิตภัณฑ์ที่ส่งมอบฟีเจอร์ตามกำหนดการ Kanban เหมาะกับงานที่เข้ามาโดยคาดเดาไม่ได้และต้องจัดการตามที่เข้ามา เช่น งานซัพพอร์ต งานปฏิบัติการ หรืองานบำรุงรักษา

หลายทีมผสมทั้งสองแบบเข้าด้วยกัน (“Scrumban”): คงจังหวะการวางแผนไว้ และคอยดูปริมาณงานที่กำลังทำอยู่ไปด้วย

East Agile Tracker อิงรอบงาน (iteration-based) ซึ่งทำให้มันใกล้กับ Scrum และ eXtreme Programming มากกว่า Kanban มันใช้คำเรียกของตัวเองสำหรับแนวคิดบางอย่างข้างต้น:

  • sprint เรียกว่ารอบงาน แต่ละโปรเจกต์ตั้งความยาวรอบงานได้ 1–4 สัปดาห์ รอบงานถูกสร้างโดยอัตโนมัติ ไม่มี sprint ให้เปิดหรือปิด ดู Iterations
  • backlog เป็นรายการเดียวที่เรียงลำดับ เจ้าของผลิตภัณฑ์เรียงมันตามลำดับความสำคัญอย่างเคร่งครัด และ Backlog ฉายภาพรอบงานที่กำลังจะมาถึงจากความเร็ว ดู User Story และการวางแผนรอบงาน
  • ความเร็วกำหนดขนาดของแผน เมื่อเปิด auto-plan iterations รอบงานปัจจุบันจะถูกเติมจนถึงความเร็วของคุณและไม่เกินกว่านั้น ดู Planning an iteration
  • แต่ละ story มีสถานะของตัวเอง story เคลื่อนผ่าน Unstarted → Started → Finished → Delivered → Accepted ซึ่งแสดงอยู่บนการ์ด แทนที่จะเคลื่อนผ่านคอลัมน์ของบอร์ด ดู เครื่องสถานะ

ไม่มีการจำกัด WIP และไม่มีโหมดการไหลที่ไม่ใช้รอบงาน แนวคิดของ Kanban ที่นำมาใช้คือการมองเห็นได้ (ทุก story และสถานะของมันอยู่บนบอร์ดเดียว) และตัวชี้วัดการไหล: หน้า Metrics แสดงแนวโน้มความเร็ว burndown และ story ที่ถูกยกไประหว่างรอบงาน