หลายๆ คนน่าจะเคยได้ยินคำว่า Agile & Scrum กันมาบ้าง ซึ่งเป็นแนวคิดการทำงานรูปแบบใหม่ที่ได้รับความนิยมเป็นอย่างมาก โดยเฉพาะกับบริษัทสาย Tech ที่ต้องเจอกับปัญหาระหว่างการทำงานเป็นประจำ
บทความนี้เราจะมาทำความเข้าใจหลักการของ Agile & Scrum ว่าคืออะไร และการ Scrum นั้นช่วยซัพพอร์ตการทำงานของบริษัทสาย Tech ได้อย่างไร
ทำความเข้าใจแนวคิดการทำงานแบบ Agile
ก่อนที่จะเข้าเรื่องว่า Scrum คืออะไร เราต้องมาทำความเข้าใจแนวคิดการทำงานแบบ Agile กันก่อนว่าเป็นอย่างไร
โดยปกติแล้ว ในการวางแผน Project การทำงานสัก Project หนึ่ง เรามักจะวาง Master Plan ที่คิดแผนการทำงานทั้งหมดเอาไว้ล่วงหน้าตั้งแต่ต้นจนจบ ซึ่งแนวคิดการทำงานแบบนี้ถูกเรียกว่า Waterfall Method
แต่สำหรับแนวคิดการทำงานแบบ Agile นั้น จะไม่ได้มีการวางแผนทั้งหมดเอาไว้อย่างตายตัว จะเป็นการวางแผนงานไปทีละนิดแต่ไปข้างหน้าอย่างสม่ำเสมอ จึงมีความยืดหยุ่นกว่า ทำให้ประเมินปัญหาต่างๆ และหาแนวทางแก้ไขได้ง่ายดายยิ่งขึ้น
สำหรับบริษัทสาย Tech แล้ว การวางแผน Project ตั้งแต่ต้นจนจบเป็นเรื่องที่ยากมากๆ ใช้เวลานาน อีกทั้งยังไม่สามารถคาดการณ์ปัญหาที่จะเกิดขึ้นได้อย่างแน่ชัด จึงเหมาะสำหรับแนวคิดการทำงานแบบ Agile เป็นอย่างมาก
Scrum คืออะไร? เกี่ยวข้องกับ Agile อย่างไร?
เมื่อเข้าใจแล้วว่าแนวคิดการทำงานแบบ Agile เป็นอย่างไร ทีนี้เรามาดูกันว่า Scrum คืออะไร และเกี่ยวข้องอย่างไรกับแนวคิดแบบ Agile
Scrum คือ Framework การทำงานภายใต้แนวคิดแบบ Agile มีวัตถุประสงค์เพื่อให้การทำงานมีความยืดหยุ่น เน้นการทำงานเป็นทีมมากกว่ากระบวนการ นอกจากนี้ยังช่วยให้สามารถวัดผล และตรวจสอบประสิทธิภาพของ Product เพื่อให้มองเห็นปัญหาได้อย่างรวดเร็ว
ปรับเปลี่ยนจากการนำส่งงานให้กับลูกค้าแบบรวดเดียว เป็นส่งงานทีละส่วนๆ อย่างต่อเนื่องเพื่อรับ Feedback จากลูกค้าและทำการปรับแก้ เพื่อให้ Final Product ออกมาตรงกับความต้องการของลูกค้ามากที่สุด
โดยการทำงานแบบ Scrum นั้น จะแบ่งผู้รับผิดชอบ Project ออกเป็น 3 ตำแหน่งหลักๆ ดังนี้
Product Owner
Product Owner คือ ผู้ประเมินภาพรวม มีหน้าที่ลำดับความสำคัญ (Priorities) ของชิ้นงานต่างๆ และจัด Tasks ของทีมให้เหมาะสม นอกจากนี้ ต้องเป็นคนที่ทำให้ทั้งทีมเข้าใจรายละเอียด และวัตถุประสงค์ของ Project ได้ตรงกัน
Scrum Master
Scrum Master คือ คนที่ Lead ให้การทำงานของทีมเป็นไปได้อย่างลื่นไหล คอยประเมินปัญหา รวมถึงติดตามผลการทำงานในแต่ละ Task ของทีมอย่างต่อเนื่อง
Team
Team ประกอบไปด้วยสมาชิกที่ดำเนินการในส่วนต่างๆ ของ Project นั้น ซึ่งจะแบ่งตำแหน่งเหมือนการทำงานปกติ เช่น Programmer Designer ETC.
แต่ว่า เมื่องานชิ้นใดใน Project นั้นเสร็จไม่ตรงตามเวลา ก็จะกลายเป็นความรับผิดชอบของทุกคนที่ต้องรุมสกรัม (Scrum) เพื่อทำให้ชิ้นงานนั้นเสร็จให้ได้
โดยการทำงานแบบ Scrum นั้นจะเป็นแบบ Flat Organization คือ ไม่มีการแบ่งว่าใครเป็นหัวหน้า ใครเป็น Junior หรือ Senior ทุกคนสามารถออกแนวคิดเพื่อซัพพอร์ตกันได้อย่างเท่าเทียม
วิธีการทำงานของ Scrum
เมื่อเข้าใจแนวคิดของ Scrum แล้ว ทีนี้เรามาดูกันว่า วิธีการทำงานของ Scrum นั้นเป็นอย่างไร มีแนวคิดการดำเนินการแบบไหน
Vision & User Story
Vision & User Story คือขั้นตอนแรกที่สำคัญที่สุดของการ Scrum ที่มีไว้สำหรับระบุความต้องการของผู้ใช้งาน Product ให้ชัดเจน อะไรที่ควรมีและอะไรที่ไม่ควรมีใน Product เพื่อให้ทุกคนในทีมนั้นมองเห็น และเข้าใจ Objective ของชิ้นงานอย่างตรงกัน
Product Backlog
Product Backlog คือ Task ของงานทั้งหมดที่จำเป็นสำหรับการพัฒนา Product โดย Product Owner จะเป็นผู้จัดลำดับความสำคัญ และมอบหมาย Task เหล่านั้นให้กับทีมตามลำดับ
โดย Product Backlog นั้นมักจะถูกสร้างขึ้นมาคร่าวๆ ด้วยกันดังนี้
- รายละเอียดของงานที่ต้องทำ
- เกณฑ์การทดสอบชิ้นงาน
- ประเมินอุปสรรค และความซับซ้อน
- เวลาที่ใช้ในการพัฒนา
- รวบรวมผลตอบรับจากผู้ใช้งาน
โดยเมื่อ Product ได้รับการพัฒนาเสร็จเรียบร้อยแล้ว การเก็บ Feedback จากผู้ใช้งานนั้นมีประโยชน์เป็นอย่างมาก ซึ่งจะสามารถนำมาใช้อ้างอิงเพิ่มสำหรับการสร้าง User Story สำหรับ Product ถัดๆ ไป เพื่อให้ตอบสนองต่อความต้องการของผู้ใช้งานได้มากที่สุด
Sprint
อย่างที่ได้บอกไปในตอนต้นว่า การทำงานแบบ Agile นั้นจะเน้นการส่งชิ้นงานให้กับลูกค้าทีละส่วน ซึ่ง Sprint ก็คือการกำหนด Period ในงานสร้างชิ้นงานแต่ละส่วนนั้นๆ เพื่อนำส่งให้กับลูกค้า โดยแต่ละ Period จะมีระยะเวลาประมาณ 2-4 สัปดาห์ด้วยกัน ซึ่งจะแบ่งเป็นการดำเนินงาน ดังนี้
1. Sprint Backlog
คือ การกำหนด Task ต่างๆ ที่ต้องทำภายในช่วง Period นั้น โดยเลือกมาจาก Product Backlog เพื่อให้ทีมรู้ว่าการ Sprint ในรอบนี้จะทำงานส่วนไหน
โดย Product Owner จะต้องแสดงให้เห็นว่า Sprint Backlog ที่เลือกมาในครั้งนี้เป็นเพราะอะไร ทำไมจึงเลือกที่จะทำงานในส่วนนี้ก่อน และ Sprint รอบถัดไปจะพัฒนางานไหนส่วนไหน
เมื่อได้ข้อสรุปแล้วจะเข้าสู่การ Sprint Planning และ Product Owner จะเป็นผู้จัด Priorities มอบหมาย Task เหล่านั้นให้กับทีมตามลำดับความสำคัญ
2. Sprint Planning
คือ การวางแผนการดำเนินงานให้สามารถ Deliver ชิ้นงานได้ทันตาม Period ที่กำหนดไว้ เช่น
- ประเมินระยะเวลาการทำงานแต่ละชิ้น
- ลำดับความสำคัญของชิ้นงาน มองหาว่างานส่วนไหนที่ต้องรีบทำก่อนส่วนอื่น
- ประเมินอุปสรรคที่อาจพบ หรือเป็นปัญหาในการทำงาน
ทั้งนี้ก็เพื่อให้ทีมนั้นมองเห็นแนวทางการทำงานคร่าวๆ ของตัวเองในช่วง Period นั้น นอกจากนี้ หาก Plan ที่ลองประเมินออกมานั้นหนักเกินไป หรือไม่สามารถ Deliver งานได้ตามเวลาที่ตั้งไว้ ทีมก็สามารถนำไปต่อรองกับ Product Owner เพื่อปรับเปลี่ยนจำนวนของชิ้นงาน หรือหาแนวทางใหม่ได้
3. Daily Scrum Meeting
ในทุกๆ เช้าก่อนเริ่มการทำงาน จะทำการประชุมเล็กๆ ประมาณ 10-15 นาทีเพื่ออัปเดตความคืบหน้าของแต่ละคนว่า
- เมื่อวานทำอะไรไปแล้วบ้าง
- วันนี้จะทำอะไร
- เกิดปัญหาอะไรขึ้นระหว่างการทำงานหรือไม่
โดยในขั้นตอนนี้จะมี Scrum Master เป็นผู้นำการ Meeting เพื่อให้มองเห็นความคืบหน้าของ Project ระยะเวลาการทำงานที่ใช้จริง รวมไปถึงปัญหาที่เกิดขึ้นระหว่างการทำงาน เพื่อที่จะเรียนรู้และปรับแก้ไขอย่างต่อเนื่อง
4. Sprint Review
เมื่อ Task ของงานเรียบร้อยในระดับหนึ่งแล้ว Scrum Master จะมีการจัด Meeting สั้นๆ เพื่ออัปเดตความคืบหน้า และให้ทุกคนในทีมได้พูดคุยเกี่ยวกับแผนการทำงาน Review ภาพรวม หรือรับฟัง Feedback ของกันและกัน โดยอาจจัดขึ้นทุกๆ 1 สัปดาห์
5. Sprint Retrospective
คือ การสรุปสิ่งที่ได้ทำมาทั้งหมดหลังจากที่จบการ Sprint ใน Period นี้ว่าเป็นอย่างไร พบปัญหาอะไรบ้าง มีสิ่งใดที่ควรทำเพิ่มเติมใน Sprint รอบถัดไปเพื่อให้ชิ้นงานสมบูรณ์มากยิ่งขึ้น
จากนั้นก็วนกลับไปที่ข้อ 1 จนกว่างานที่กำหนดไว้ใน Product Backlog จะเสร็จสิ้น และได้ Product ที่สมบูรณ์ออกมาพร้อมนำส่งให้ลูกค้า หรือผู้ใช้งาน
สรุป
เท่านี้ทุกคนก็น่าจะได้ทราบกันแล้วว่า รูปแบบการทำงานแบบ Scrum & Agile คืออะไร ด้วยความยืดหยุ่นที่เน้นการนำส่งชิ้นงานเป็นระยะๆ และโฟกัสไปที่การวิเคราะห์ปัญหา และประสิทธิภาพของตัว Product ตลอดการดำเนินงานนั้น จึงเหมาะสมเป็นอย่างมากสำหรับการทำงานของสาย Tech ที่อาจเกิดปัญหาขึ้นได้ตลอดเวลา
นอกจากนี้ การทำงานแบบ Scrum & Agile นั้นยังสามารถนำไปประยุกต์ใช้กับสายงานอื่นที่นอกเหนือจาก Tech ได้อีกด้วย หากบริษัทของคุณต้องการปรับรูปแบบการทำงานภายในองค์กรใหม่ แนวคิดการทำงานแบบ Scrum & Agile นับเป็นตัวเลือกที่น่าสนใจเป็นอย่างมาก
ติดตามข่าวสารและคอนเทนต์ดีๆ เกี่ยวกับเทคโนโลยี ธุรกิจ และสิ่งแวดล้อมที่คุณไม่ควรพลาด
ได้ที่ Facebook PTT ExpresSo
