หลายๆ องค์กรในยุคนี้ได้นำแนวคิด Agile มาใช้ในการทำงานมากขึ้น โดยเฉพาะบริษัทพัฒนาซอฟต์แวร์และ
เทคโนโลยีต่างๆ Agile เป็นแนวคิดที่แบ่งการทำงานออกเป็นขั้นตอนย่อยๆ เน้นไปที่การสื่อสารในทีม มีการประเมินผลและแก้ไขข้อผิดพลาดอย่างต่อเนื่อง ในขณะเดียวกันก็มีความยืดหยุ่น สามารถปรับเปลี่ยนแผนได้ตามสถานการณ์ แนวคิดการทำงานแบบ Agile จึงช่วยลดขั้นตอนที่ไม่จำเป็นลง นอกจากนี้ยังทำให้เกิดการพัฒนาได้อย่างรวดเร็วอีกด้วย
เมื่อพูดถึง Agile แล้ว แน่นอนอีกคำที่ต้องมาคู่กันเลยคือ “Scrum” ซึ่งเป็น Framework การทำงานรูปแบบหนึ่งที่ได้รับความนิยมอย่างมากในยุคนี้ Scrum เป็นเหมือน ‘จิ๊กซอว์’ ชิ้นหนึ่งที่ช่วยเติมเต็มให้แนวคิดการทำงานแบบ Agile นั้นมีประสิทธิภาพมากขึ้น บทความนี้เราจะพาคุณมารู้จักว่า Scrum คืออะไร? ทำไมหลายๆ องค์กรจึงเลือกใช้ Framework นี้ในการทำงาน? ไปจนถึงเจาะลึกกระบวนการทำงานของ Scrum เราไปดูกันเลย!
“Scrum” คืออะไร?
Scrum คือ Framework การทำงานที่จะแบ่งโปรเจคเป็นขั้นตอนย่อยๆ มีการส่งงาน ประเมินผลโดยผู้ใช้หรือลูกค้า และปรับปรุงแก้ไขทีละขั้น ซึ่ง Framework นี้ถูกออกแบบขึ้นมาเพื่อแก้ไขปัญหาที่มีความซับซ้อน อีกทั้งยังช่วยเสริมสร้างการทำงานเป็นทีม ทำให้เกิดการเรียนรู้และพัฒนาที่ต่อเนื่อง Scrum จึงช่วยเพิ่มมูลค่าให้กับโปรดักต์จนสามารถตอบโจทย์ผู้ใช้และลูกค้าได้เป็นอย่างดี
หลายๆ คนอาจจะสงสัยว่า Agile กับ Scrum ต่างกันอย่างไร? Agile นั้นเป็นแนวคิดของการทำงานซึ่งสามารถนำไปประยุกต์ใช้ได้หลายวิธี ในขณะที่ Scrum คือกระบวนการทำงานที่มักจะถูกนำไปใช้ในการพัฒนาโปรดักต์ต่างๆ โดยเฉพาะซอฟต์แวร์ Scrum ประกอบด้วยเครื่องมือ ทีมงาน การประชุมและอื่นๆ โดยมีรากฐานมาจากแนวคิดแบบ Agile นั่นเอง
ประวัติของ Scrum
Scrum ถูกพูดถึงเป็นครั้งแรกในปี 1986 โดยฮิโรทากะ ทาเคอุจิ และอิคุจิโระ โนนากะ ที่มาของชื่อ “Scrum” มาจากกีฬารักบี้ (วิธีการคือผู้เล่นต้องโอบกันให้แน่นเพื่อครองบอล และช่วยกันดันตัวไปข้างหน้า) ด้วยวิธีการทำงานแบบที่ชื่อ Scrum นี้ ช่วยให้บริษัทต่างๆ เช่น Honda, Canon และ Fuji-Xerox สามารถพัฒนาโปรดักต์และสร้างผลลัพธ์ที่เหนือกว่าหลังจากนั้น Scrum ก็ถูกพัฒนาต่อมาเรื่อยๆ ตั้งแต่ปี 1993 โดย Jeff Sutherland, John Scumniotales และ Jeff McKenna จนกลายเป็น Framework ที่ได้รับความนิยมจนถึงปัจจุบัน
หลังจากนี้ที่รู้จักกันไปแล้วว่า Scrum คืออะไร ในส่วนต่อไปเราจะมาดูกันว่า Scrum มีกระบวนการทำงานเป็นอย่างไร
การทำงานของ Scrum
เพื่อให้เข้าใจการทำงานของ Scrum มากขึ้น เราจะแบ่งเนื้อหาออกเป็น 3 ส่วนดังนี้
- ทีมงาน Scrum และหน้าที่ของแต่ละคน
- Scrum artifacts
- กระบวนการทำงาน (Workflow)
ทีมงาน Scrum และหน้าที่ของแต่ละคน
ในการทำงานทีม Scrum นั้นจะมีจำนวนสมาชิกไม่มาก ประกอบด้วย 3 ตำแหน่ง ได้แก่ Product owner, Scrum master และ Development team โดยทำงานกันแบบ “Cross functional” คือแต่ละตำแหน่งจะทำงานประสานกันเป็นทีม สำหรับแต่ละตำแหน่งในทีม Scrum นั้นทำหน้าที่อะไรบ้าง เราไปดูกัน
- Product Owner
Product Owner ทำหน้าที่เป็นตัวแทนของ Stakeholder และลูกค้า รวมถึงรับผิดชอบให้โปรเจคมีผลลัพธ์เป็นไปตามวัตถุประสงค์ธุรกิจ Product Owner จึงต้องมีความเข้าใจในธุรกิจ ลูกค้า และกลุ่มตลาดเป็นอย่างดี นอกจากนี้ยังต้องทำหน้าที่ทำให้เกิดการสื่อสารภายในทีม ประเมินผลและจัดลำดับความสำคัญของงานต่างๆ ให้กับทีมด้วย
- Scrum Master
Scrum Master คือผู้ที่ทำให้การทำงานภายในทีมเป็นไปอย่างราบรื่น ช่วยแก้ปัญหาต่างๆ ที่เกิดขึ้น แม้ว่า Scrum Master ไม่ได้หมายถึงการเป็นผู้นำทีม แต่ตำแหน่งนี้จะช่วยกำจัดอุปสรรคที่ขัดขวางไม่ให้ทีมบรรลุเป้าหมาย
- Development team
ทีมพัฒนาจะทำหน้าที่พัฒนาโปรดักต์ให้เป็นไปตามวัตถุประสงค์และข้อกำหนด ซึ่งภายในทีมมีอีกหลายๆ ตำแหน่งทำงานร่วมกันประมาณ 3-9 คน ไม่ว่าจะเป็น Designer, Programmer, UI/UX, Tester หรืออาจจะแตกต่างกันไปขึ้นกับแต่ละโปรเจค
Scrum artifacts
ส่วนต่อมา “Scrum artifacts” เป็นเครื่องมือที่ใช้ในการแก้ปัญหาและจัดการการทำงาน รวมถึงแสดงผลลัพธ์จากการพัฒนาโปรดักต์ ประกอบด้วย Product Backlog, Sprint Backlog และ Increment (หรือ Sprint Goal)
- Product Backlog
Product Backlog คือลิสต์ของงานที่ต้องทำเพื่อพัฒนาโปรดักต์ ไปจนถึงฟีเจอร์ ข้อกำหนดทางธุรกิจและอื่นๆ โดย Product Owner จะเป็นผู้จัดทำลิสต์นี้ขึ้นมาและจัดลำดับความสำคัญของงาน
- Sprint Backlog
Sprint Backlog คือลิสต์ของงานที่เลือกมาจาก Product Backlog โดย Development team ซึ่งจะรวมข้อมูลต่างๆ เพื่อใช้ในการอัปเดตการทำงาน เช่น User story, Bugfix, สิ่งที่ต้องทำ (To-Do), สิ่งที่กำลังลงมือทำอยู่ (Doing), สิ่งที่ทำเสร็จไปแล้ว (Done) เป็นต้น Sprint Backlog จะต้องสามารถเข้าถึงได้ง่ายโดยสมาชิกทุกคนในทีมและตรวจสอบได้ตลอดเวลา
- Increment (หรือ Sprint Goal)
Increment คือ ผลรวมของงานจาก Product Backlog ซึ่งถ้าผลลัพธ์คือเสร็จสมบูรณ์ (Done) หมายถึง Increment นั้นสามารถนำไปใช้งานจริงได้และผ่านข้อกำหนดแล้ว
กระบวนการทำงาน (Workflow)
ในส่วนนี้คือกิจกรรมและขั้นตอนการดำเนินการของ Scrum ภายในกรอบเวลาหรือที่เรียกว่า “Sprint” ซึ่งแต่ละ Sprint จะมีระยะเวลาที่ตายตัวตลอดช่วงการทำงาน ใช้เวลาประมาณ 2-4 สัปดาห์ และมีกิจกรรมต่างๆ ที่จะทำให้ภายในทีมได้ตรวจสอบ ปรับปรุงการทำงาน สิ่งสำคัญจึงเป็นความโปร่งใสและทุกคนสามารถตรวจสอบได้
สำหรับกิจกรรมและกระบวนการทำงานมี 5 ขั้นตอนดังนี้
- Backlog ขั้นตอนนี้คือการจัดการกับ Backlog หรือลิสต์ของงานที่ต้องทำรวมถึงข้อกำหนดต่างๆ ซึ่ง Product Owner จะเป็นคนตัดสินใจในขั้นตอนนี้เพื่อเลือกงานต่างๆ เข้าไปใน Sprint และจัดลำดับความสำคัญของงาน
- Sprint Planning ขั้นตอนการวางแผนงานที่จะถูกทำใน Sprint การวางแผนนี้ทำขึ้นโดยความร่วมมือของสมาชิกทีมงาน Scrum ทั้งหมด
- Daily Scrum Meeting ตลอดระยะเวลาที่ทำ Sprint ภายในทีมจะมีการประชุมสั้นๆ ประมาณ 10-15 นาทีเพื่ออัปเดตการทำงาน สิ่งที่ทำไปแล้ว สิ่งที่จะทำต่อไป รวมถึงปัญหาต่างๆ และมีการแก้ไขปัญหาอย่างต่อเนื่อง
- Sprint Review ขั้นตอนนี้จะจัดขึ้นตอนท้ายของ Sprint เพื่อตรวจสอบ Increment (ผลรวมของงาน) และรับ Feedback จาก Stakeholder หรือลูกค้าสำหรับนำไปพัฒนาโปรดักต์ต่อไป
- Sprint Retrospective สรุปสิ่งที่ทำมาทั้งหมด และเปิดโอกาสให้ทีมงาน Scrum ได้ร่วมกันตรวจสอบการทำงานก่อนจะเริ่มต้นทำ Sprint Planning ครั้งถัดไป
ข้อดีของ Scrum
ทำไมบริษัทมากมายต่างเลือกใช้ Scrum ในการพัฒนาโปรดักต์? เราได้สรุปข้อดีของ Scrum มาทั้งหมด 5 ข้อดังต่อไปนี้
- เพิ่มประสิทธิภาพและความรวดเร็วในการทำงาน จากการแบ่งโปรเจคออกเป็นขั้นตอนย่อยๆ ช่วยให้จัดการและวางแผนได้ง่ายขึ้น
- มีความยืดหยุ่น สามารถปรับเปลี่ยนแผนงานได้ตามเงื่อนไข สถานการณ์ หรือ Feedback จากลูกค้า
- โปรดักต์จะถูกพัฒนาและทดสอบในขั้นตอน Sprint Review ทำให้ทีมงานสามารถค้นพบและแก้ไขข้อผิดพลาดได้ทันที ไม่ต้องแก้ไขในขั้นตอนสุดท้ายทีเดียว
- ช่วยพัฒนาการทำงานเป็นทีม มีการสื่อสารอย่างสม่ำเสมอในขั้นตอน Daily Scrum Meeting ซึ่งสามารถกระตุ้นให้เกิดการเรียนรู้ได้มากขึ้น
- ประหยัดเวลาและต้นทุนในการพัฒนาโปรดักต์
สรุป
การทำงานแบบเดิมๆ นั้นอาจจะไม่ตอบโจทย์ในโลกยุคใหม่อีกต่อไป Scrum คือ Framework ที่มีแนวคิดแบบ Agile ช่วยให้การพัฒนาโปรดักต์มีประสิทธิภาพมากขึ้นและสามารถแก้ปัญหาได้อย่างรวดเร็ว ผ่านการแบ่งโปรเจคใหญ่ออกเป็น Sprint ซึ่งมีขั้นตอนการทำงานที่สนับสนุนให้ทีมงาน Scrum ได้วางแผน ตรวจสอบ และพัฒนาการทำงานภายในทีม นี่จึงเป็นเหตุผลที่ทำให้โปรดักต์สุดท้ายออกมาตอบโจทย์ธุรกิจ ประหยัดต้นทุนและเวลาในการพัฒนาอีกด้วย