What is a Sprint?

It is a short, fixed period during which a Scrum team works to complete a set amount of work.

🏃‍♂️

คำนิยาม

Sprint คือระยะเวลาที่กำหนดไว้ (Time-box) ที่ทีม Scrum ทำงานเพื่อเสร็จสิ้นงานจำนวนหนึ่งและส่งมอบส่วนเพิ่ม (Increment) ของผลิตภัณฑ์ที่พร้อมเผยแพร่ Sprint คือหัวใจของ Scrum — งานทั้งหมดของทีมเกิดขึ้นภายใน Sprint

Scrum Guide นิยามว่า: "Sprint คือหัวใจของ Scrum ที่ซึ่งความคิดกลายเป็นคุณค่า"

จากการสำรวจ Stack Overflow ปี 2024 พบว่าประมาณ 58% ของทีมพัฒนาใช้ Sprint สองสัปดาห์ 20% ใช้สามสัปดาห์ และ 15% ใช้หนึ่งสัปดาห์

📈

การพัฒนาเป็นขั้นตอน

แต่ละ Sprint มุ่งหวังในการส่งมอบ Increment ของผลิตภัณฑ์ที่สามารถเผยแพร่ได้ ซึ่งเพิ่มคุณค่าให้กับผู้ใช้ Increment เป็นการสะสมจาก Increment ก่อนหน้าทั้งหมด — นั่นคือ ผลิตภัณฑ์เติบโตและสะสมคุณค่าในทุก Sprint

ข้อกำหนดหลักของ Increment:

  • เป็นไปตาม DoD — ทุกรายการที่เสร็จสมบูรณ์ต้องผ่าน Definition of Done
  • มีประโยชน์ — Increment ให้คุณค่าจริงแก่ผู้ใช้
  • พร้อมเผยแพร่ — Increment พร้อมที่จะเผยแพร่ (แม้ว่าจะไม่จำเป็นต้องเผยแพร่จริง)
🔄

การวนซ้ำ

Sprint เป็นส่วนหนึ่งของกระบวนการวนซ้ำ (Iterative) โดยแต่ละ Sprint จะตามหลังอีก Sprint ที่มีระยะเวลาเท่ากัน ความเป็นวงจรนี้ช่วยให้:

  • จังหวะที่สม่ำเสมอ — ทีมพัฒนาจังหวะการทำงานที่มั่นคงและปริมาณงานที่คาดเดาได้
  • การปรับปรุงอย่างต่อเนื่อง — ทุก Sprint Retrospective สร้างการปรับปรุงสำหรับ Sprint ถัดไป
  • ความสามารถในการคาดการณ์ — Velocity ของทีมจะคาดเดาได้มากขึ้นเมื่อเวลาผ่านไป
  • การปรับตัว — ทีมปรับตัวตามความต้องการใหม่ในแต่ละ Sprint
🗓️

เหตุการณ์ภายใน Sprint

Sprint ประกอบด้วยเหตุการณ์ Scrum ทั้งหมด:

Sprint Planning (การวางแผน Sprint)

  • เมื่อไหร่: เริ่มต้น Sprint
  • ระยะเวลา: สูงสุด 8 ชั่วโมงสำหรับ Sprint หนึ่งเดือน (4 ชั่วโมงสำหรับสองสัปดาห์)
  • เป้าหมาย: กำหนด Sprint Goal เลือกรายการจาก Product Backlog สร้างแผนงาน
  • ผู้เข้าร่วม: Scrum Master, Product Owner, Developers

Daily Scrum

  • เมื่อไหร่: ทุกวัน เวลาและสถานที่เดียวกัน
  • ระยะเวลา: 15 นาที
  • เป้าหมาย: ประสานงานประจำวัน ระบุอุปสรรค
  • ผู้เข้าร่วม: Developers (บังคับ) คนอื่น (ทางเลือก)

Sprint Review

  • เมื่อไหร่: สิ้นสุด Sprint
  • ระยะเวลา: สูงสุด 4 ชั่วโมงสำหรับ Sprint หนึ่งเดือน
  • เป้าหมาย: นำเสนอ Increment รับข้อเสนอแนะ อัปเดต Product Backlog
  • ผู้เข้าร่วม: ทีม Scrum + ผู้มีส่วนได้ส่วนเสีย

Sprint Retrospective

  • เมื่อไหร่: หลัง Sprint Review
  • ระยะเวลา: สูงสุด 3 ชั่วโมงสำหรับ Sprint หนึ่งเดือน
  • เป้าหมาย: ตรวจสอบกระบวนการและระบุการปรับปรุง
  • ผู้เข้าร่วม: ทีม Scrum ทั้งหมด
⏱️

ระยะเวลา

Sprint โดยทั่วไปมีระยะเวลาสองสัปดาห์ สูงสุดไม่เกินหนึ่งเดือน

วิธีเลือกระยะเวลา Sprint

ระยะเวลา เหมาะกับ ข้อดี ข้อเสีย
1 สัปดาห์ ทีมที่มีประสบการณ์ สภาพแวดล้อมที่เปลี่ยนเร็ว ข้อเสนอแนะเร็วมาก ค่าใช้จ่ายสูง
2 สัปดาห์ ทีมส่วนใหญ่ สมดุลที่ดี มาตรฐาน
3 สัปดาห์ โครงการที่ซับซ้อน มีเวลาทำงานมากขึ้น ข้อเสนอแนะช้าลง
1 เดือน โครงการขนาดใหญ่ ค่าใช้จ่ายน้อยลง ความเสี่ยงสูง

กฎทั่วไป

  • เริ่มจากสองสัปดาห์ — ระยะเวลา Sprint เริ่มต้น
  • อย่าเปลี่ยนระยะเวลา — เมื่อกำหนดแล้ว ให้คงที่
  • สั้นกว่า = ความเสี่ยงน้อยกว่า — Sprint สั้นช่วยให้ปรับตัวได้เร็วขึ้น
🎯

Sprint Goal

Sprint Goal คือเป้าหมายทางธุรกิจที่ทีมมุ่งมั่นจะบรรลุระหว่าง Sprint:

  • กำหนดทิศทาง — ทีมรู้ว่าจะมุ่งไปทางไหน
  • อนุญาตความยืดหยุ่น — ทีมสามารถสลับรายการได้ตราบใดที่ Goal สำเร็จ
  • รวมทีมเป็นหนึ่ง — ทุกคนทำงานเพื่อเป้าหมายเดียวกัน
  • วัดผลได้ — เมื่อจบ Sprint สามารถตัดสินได้ว่า Goal สำเร็จหรือไม่

ตัวอย่าง Sprint Goal:

  • "ให้ลูกค้าสามารถเข้าสู่ระบบผ่าน Google OAuth ได้"
  • "ลดเวลาโหลดหน้าแรกเหลือ 2 วินาที"
  • "สร้างระบบ Push Notification พื้นฐาน"
⚠️

การยกเลิก Sprint

Sprint สามารถยกเลิกได้โดย Product Owner เท่านั้น และเฉพาะเมื่อ Sprint Goal ไม่เกี่ยวข้องอีกต่อไป การยกเลิก Sprint เป็นเหตุการณ์ที่หายากและมักบ่งบอกถึงปัญหาในการวางแผนหรือสภาพแวดล้อม

เมื่อ Sprint ถูกยกเลิก:

  • ตรวจสอบรายการที่เสร็จแล้ว — ถ้าเผยแพร่ได้ PO อนุมัติ
  • งานที่ไม่เสร็จกลับไป Product Backlog
  • Sprint Retrospective ยังคงจัดขึ้น
📊

ตัวชี้วัดของ Sprint

  • Velocity — จำนวน Story Points ที่ทีมทำเสร็จต่อ Sprint
  • Sprint Burndown — กราฟแสดงงานที่เหลือใน Sprint
  • Sprint Goal Achievement Rate — เปอร์เซ็นต์ Sprint ที่บรรลุ Goal
  • Scope Change — ปริมาณการเปลี่ยนแปลงขอบเขตระหว่าง Sprint

คำถามที่พบบ่อย (FAQ)

ถ้าทำงานใน Sprint ไม่เสร็จทั้งหมดจะเกิดอะไรขึ้น?

รายการที่ไม่เสร็จจะกลับไป Product Backlog Sprint จะไม่ถูกขยายเวลา ทีมจะพูดคุยกันใน Retrospective และปรับปรุงการประเมิน

สามารถเพิ่มงานกลาง Sprint ได้หรือไม่?

ได้ ถ้าไม่กระทบ Sprint Goal โดย Developers และ Product Owner ตัดสินใจร่วมกัน ควรหลีกเลี่ยงการเพิ่มงานที่ไม่ได้วางแผนไว้

Sprint กับ Iteration ต่างกันอย่างไร?

Sprint เป็นคำเฉพาะของ Scrum ส่วน Iteration เป็นแนวคิดทั่วไปใน Agile ทุก Sprint เป็น Iteration แต่ไม่ใช่ทุก Iteration เป็น Sprint

จัดการ Bug ที่พบระหว่าง Sprint อย่างไร?

Bug ที่เกี่ยวข้องกับงานปัจจุบันแก้ไขทันที Bug เก่าเข้า Product Backlog และถูกจัดลำดับโดย Product Owner

🔗

ลิงก์ที่เกี่ยวข้อง

  • Scrum — กรอบงานที่ Sprint อยู่ภายใน
  • Product Owner — ผู้กำหนดว่าอะไรเข้า Sprint
  • Scrum Master — ผู้ดูแลให้ Sprint ดำเนินไปอย่างราบรื่น
  • Backlog — แหล่งที่มาของรายการใน Sprint
  • Burndown Chart — ติดตามความคืบหน้า Sprint
  • Kanban — ทางเลือกของ Sprint — การไหลต่อเนื่อง
🍄

ต้องการเรียนรู้เพิ่มเติมหรือไม่?

หากคุณอยากทราบเพิ่มเติมเกี่ยวกับ Sprint, ติดต่อฉันผ่าน X ฉันชอบแบ่งปันความคิด ตอบคำถาม และพูดคุยเกี่ยวกับความน่าสนใจในหัวข้อนี้ อย่าลังเลที่จะเข้ามาพูดคุยกันนะ แล้วเจอกัน!