Scrum คืออะไร
Scrum คือรูปแบบการทำงานลักษณะหนึ่ง ที่ช่วยให้สามารถระบุปัญหาที่มีความซับซ้อน รวมไปถึงการเปลี่ยนแปลงที่อาจเกิดขึ้นได้ตลอดเวลา ทั้งนี้ก็เพื่อตอบรับการทำงานที่มีความยืดหยุ่น ผ่านการเน้นการทำงานแบบเป็นทีม มากกว่าการเจาะลึกไปที่ขั้นตอนของการดำเนินการ นอกจากนี้ยังช่วยวัดผลและสามารถตรวจสอบประสิทธิภาพของผลิตภัณฑ์ เพื่อให้เกิดประสิทธิภาพสูงสุด หากเกิดปัญหาก็สามรถแก้ไขได้อย่างรวดเร็วและตรงจุด ซึ่ง Scrum คือหนึ่งในแนวคิดการทำงานแบบ Agile ด้วยนั่นเอง
ข้อดีของการทำโปรเจกต์ด้วย Scrum Framework
ก่อนจะไปเจาะลึกถึงขั้นตอน หน้าที่ และวิธีการทำ Scrum เรามาดูข้อดีของ Scrum กันก่อน ว่ามีอะไรบ้าง
- ช่วยเกิดความรวดเร็วและเกิดประสิทธิภาพในการทำงานมากขึ้น
- สามารถจัดการและวางแผนการทำงานได้ง่ายขึ้น ผ่านการแบ่งโปรเจกต์ออกเป็นขั้นตอนย่อย
- เป็นลักษณะการทำงานที่ยืดหยุ่น ปรับเปลี่ยนแผนงานได้ตลอดเวลาตามสถานการณ์
- มีขั้นตอนในการทดสอบ ช่วยให้สามารถพบปัญหาและแก้ไขได้ทันที
- ช่วยพัฒนาการทำงานแบบเป็นทีม พร้อมการสื่อสารระหว่างทีมอย่างสม่ำเสมอ
- ช่วยประหยัดเวลาและต้นทุนในการพัฒนาผลิตภัณฑ์
ข้อเสียของการทำโปรเจกต์ด้วย Scrum Framework
นอกจากข้อดีแล้ว ก็ยังมีข้อเสียของ Scrum ที่ควรรู้ก่อนหยิบวิธีการนี้ไปใช้กับการทำงานในทีม ดังนี้
- หลายครั้งการใช้รูปแบบการทำงาน Scrum ทำให้กำหนดงานเลื่อนออกไปเรื่อย ๆ เนื่องจากไม่มีระยะเวลาที่ชัดเจน
- หากคนหนึ่งคนใดในทีมไม่รับผิดชอบกับงานของตัวเอง ทำให้มีความเสี่ยงสูงที่งานจะไม่สำเร็จ
- Daily Stand-up อาจทำให้ทีมรู้สึกเบื่อหน่ายได้
- มีความท้าทายสูงหากนำรูปแบบการทำงาน Scrum ไปใช้กับทีมขนาดใหญ่
- หากมีสมาชิกคนใดคนหนึ่งออกจากทีมในระหว่างการทำงาน อาจทำให้เกิดปัญหาตามมา
การแบ่งหน้าที่ในการทำ Scrum
สำหรับการทำงานแบบ Scrum นั้น โดยปกติแล้วจะมีการกำหนดเป็น 3 หน้าที่หลักๆ ดังนี้
Scrum Master
ตำแหน่งนี้อาจไม่ได้แปลตรงตัวว่าเป็นผู้นำของทีม แต่ก็ต้องเป็นคนที่สามารถดูแลการทำงานของทีมให้เป็นไปได้อย่างลื่นไหล รวมไปถึงคอยประเมินถึงปัญหาที่อาจจะเกิดขึ้น พร้อมหาวิธีการแก้ไขอุปสรรคเหล่านั้น คอยติดตามผลการทำงานของแต่ละโปรเจกต์อย่างต่อเนื่อง เพื่อให้การทำงานราบรื่นที่สุด
Product Owner
ในส่วนของ Product Owner จะเป็นคนที่คอยประเมินภาพรวม จัดลำดับหน้าที่ ความสำคัญของงานต่าง ๆ ให้เป็นไปย่างเหมาะสม อีกทั้งยังต้องเป็นคนที่มีความเข้าใจในธุรกิจ ลูกค้า หรือเป้าหมายเป็นอย่างดี
Development Team
ทีมนี้ใน Scrum คือทีมที่มีหน้าที่ในการพัฒนาผลิตภัณฑ์ ซึ่งจะคอยช่วยพัฒนาผลิตภัณฑ์ต่าง ๆ ให้เป็นไปตามวัตถุประสงค์ที่ตั้งไว้ โดยภายในทีมจะมีผู้เชี่ยวชาญในด้านต่าง ๆ อีกหลายตำแหน่งคอยทำงานร่วมกัน เช่น Programmer หรือ UX/UI Designer ซึ่งก็จะแตกต่างกันไปตามแต่ละโปรเจกต์
วิธีการทำ Scrum (Scrum Ceremonies) มีอะไรบ้าง
ขั้นตอนการทำ Scrum จะถูกกำหนดอยู่ภายใต้กรอบเวลาที่เรียกกันว่า Sprint โดยในแต่ละ Sprint จะมีการกำหนดระยะเวลาที่ชัดเจนไว้ประมาณ 2-4 สัปดาห์ ซึ่งขั้นตอนการทำงานแต่ละขั้นตอนจะสามารถตรวจสอบและปรับปรุงการทำงานได้อยู่เสมอ โดยวิธีการทำ Scrum มีดังนี้
Sprint
Sprint จะเป็นการกำหนดลิสต์ของงานหรือข้อกำหนดที่คนในทีมต้องทำร่วมกัน โดยอาจเรียกขั้นตอนนี้อีกอย่างว่า Sprint Backlog ซึ่งคนที่มีหน้าที่ในการจัดการก็คือ Product Owner เพื่อเลือกงานต่าง ๆ เข้าไปใน Sprint ผสานกับการจัดลำดับความสำคัญของงาน จากนั้นก็จะมอบหมายงานชิ้นต่าง ๆ ให้กับทีมต่อไป
Sprint Planning
Sprint Planning คือการวางแผนงานให้สามารถส่งชิ้นงานได้ทันตามกำหนดเวลาที่ตั้งไว้ เพื่อให้ทีมสามารถมองเห็นแนวทางการทำงานแบบภาพรวมในช่วงเวลานั้น ๆ ได้ อีกทั้งหากแผนการทำงานที่ประเมินออกมา ดูหนักเกินไป หรือดูแล้วไม่สามารถส่งงานได้ตามกำหนด ก็สามารถไปปรึกษากับ Product Owner เพื่อหาทางออกต่อไป
Daily Stand-up
Daily Stand-up เป็นการอัปเดตขั้นตอนการทำงานของแต่ละคนในทีมแบบง่าย ๆ ผ่านการประชุมแบบย่อยในทุกเช้าก่อนเริ่มงาน ใช้เวลาประมาณ 10-15 นาที โดยรูปแบบของการประชุมอาจไปเป็นอย่างสบาย ๆ เช่น การยืนรวมกลุ่มกัน แล้วต่างคนต่างคอยอัปเดตความคืบหน้าของชิ้นงานตัวเองแบบง่าย ๆ ไม่ว่าจะเป็น เมื่อวานทำอะไร วันนี้จะทำอะไร มีปัญหาอะไรบ้างไหม เป็นต้น โดยขั้นตอนนี้จะมี Scrum Master เป็นผู้นำในการประชุมอัปเดต เพื่อให้ทุกคนมองเห็นความคืบหน้าของโปรเจกต์ร่วมกัน
Sprint Review
เมื่อผ่านขั้นตอนของการทำงานมาสักระยะหนึ่งแล้ว ก็จะถึงช่วงของ Sprint Review ที่ Scrum Master จะเป็นคนจัดขึ้น เพื่อให้ทุกคนในทีมอัปเดตความคืบหน้า รีวิวภาพรวม พร้อมรับฟังฟีคแบ็คทั้งจากคนในทีมเอง รวมไปถึงเสียงตอบรับจากลูกค้า เพื่อนำไปพัฒนาผลิตภัณฑ์ต่อไป โดย Sprint Review อาจจัดขึ้น 1 ครั้งต่อสัปดาห์
Sprint Retrospective
Sprint Retrospective คือขั้นตอนของการสรุปสิ่งที่ได้ทำมาทั้งหมด ว่าเป็นอย่างไร พบเจอปัญหาตรงจุดไหนบ้าง รวมไปถึงการหาจุดที่ควรทำเพิ่มเติมใน Sprint รอบถัดไป เพื่อประโยชน์ในการพัฒนาผลิตภัณฑ์ให้มีประสิทธิภาพมากยิ่งขึ้น
Scrum Artifacts คืออะไร มีอะไรบ้าง
Scrum Artifacts คือ เครื่องมือที่ใช้แก้ปัญหาและจัดการขั้นตอนต่าง ๆ ของการทำงาน รวมไปถึงเรื่องของการแสดงผลลัพธ์จากการพัฒนาโปรเจกต์ โดยมี 3 ขั้นตอน ดังนี้
Product Backlog
Product Backlog คือ ลิสต์ของจำนวนงานทั้งหมดที่ต้องใช้ในการพัฒนาผลิตภัณฑ์ โดยหน้าที่ในจัดทำลิสต์จะเป็นของ Product Owner รวมไปถึงการจัดลำดับความสำคัญ และมอบหมายให้แต่ละคนในทีมต่อไป โดยข้อมูลคร่าว ๆ ของ Product Backlog จะมีดังนี้
- รายละเอียดของงานที่ต้องทำ
- หลักในการทดสอบชิ้นงาน
- การประเมินถึงปัญหาหรืออุปสรรคต่าง ๆ
- ช่วงเวลาที่ต้องใช้ในการพัฒนา
- การรวบรวมฟีดแบ็คจากผู้ใช้งาน
Sprint Backlog
Sprint Backlog ในการทำ Scrum จะเป็นลิสต์ของงานที่เลือกมาจาก Product Backlog เพื่อทำในแต่ละ Sprint ซึ่งจะเป็นหน้าที่ของ Development Team ในการรวบรวมข้อมูลต่าง ๆ เพื่ออัปเดตขั้นตอนของการทำงาน เช่น สิ่งที่ต้องทำ สิ่งที่กำลังทำ หรือ สิ่งที่ทำเสร็จไปแล้ว เป็นต้น ซึ่ง Sprint Backlog ที่จัดทำขึ้นนั้น สมาชิกทุกคนในทีมจะต้องเข้าถึงได้และสามารถตรวจสอบได้ตลอดเวลา
Increment
Increment เรียกอีกอย่างว่า Sprint Goal หมายถึงผลที่ออกมาของงานจาก Product Backlog ซึ่งท้ายที่สุดแล้วหากผลลัพธ์ที่ออกมาคือเสร็จเรียบร้อยแล้ว และมีความสมบูรณ์แบบ ก็สามารถนำ Increment นั้นไปใช้งานได้จริง
คำถามที่พบบ่อยเกี่ยวกับ Scrum Framework
Scrum กับ Agile ต่างกันอย่างไร
จริง ๆ แล้ว Scrum เปรียบเสมือนเป็นส่วนหนึ่งที่ทำให้การทำงานแบบ Agile สมบูรณ์แบบมากยิ่งขึ้น โดย Agile ถือเป็นแนวคิดในการทำงานที่แบ่งออกเป็นขั้นตอนย่อย ๆ โดยเน้นไปที่การสื่อสารภายในทีมเป็นหลัก มีการประเมินผลและแก้ไขปัญหาอย่างต่อเนื่อง อีกทั้งยังมีความยืดหยุ่น ซึ่งสามารถปรับเปลี่ยนแผนงานได้ตามสถานการณ์หรือตลอดการทำงาน ซึ่งแนวคิดการทำงานแบบ Agile จะมีส่วนช่วยในการลดขั้นตอนที่ไม่จำเป็นออกไป แถมยังช่วยให้เกิดการพัฒนาที่รวดเร็วอีกด้วย
Scrum กับ Kanban ต่างกันอย่างไร
สำหรับ Kanban นั้น ก็ถือเป็นส่วนหนึ่งของแนวคิด Agile เช่นกัน โดยความแตกต่างของการ Kanban และ Scrum ก็คือ Scrum จะเน้นเรื่องการทำงานเป็นทีมและทำอย่างไรให้ทีมมีประสิทธิภาพ แต่ Kanban จะมองการทำงานทั้งหมดแบบเป็นระบบและมุ่งเน้นทำให้ระบบมีประสิทธิภาพ ตัวอย่างเช่นการแบ่งงานออกเป็นงานเล็ก ๆ ผ่านการใช้บอร์ดออนไลน์ หรือเครื่องมือในการจัดการงานที่ทุกคนในทีมสามารถเข้าถึงได้ โดยมีการระบุสถานะการทำงานให้เห็นแบบชัดเจนว่าอยู่ในขั้นตอนไหนแล้ว และเมื่อเสร็จงานแล้วก็จะมีการย้าย Task หรืองานที่สร้างไว้ไปอยู่ในช่องที่เสร็จแล้ว
References: https://th.jobsdb.com/th-th/articles/scrum-framework/