ทำงานด้วยหลักการ Agile - Scrum Framework ด้วยทีมที่จำกัด หรือคนเดียวจะทำอย่างไร
Table of contents
Intro
สวัสดีครับ วันนี้อยากจะแชร์มุมมองการทำงานด้วย Agile Framework ซึ่งเป็นหลักการทำงานประเภทหนึ ่ง แต่สงสัยไหมว่าทำงานก็ต้องมีหลักการ (framework) การทำงานด้วยเหรอ ? ก็เพราะจะได้มีขั้นตอน กระบวนการ และการวัดผลได้
Agile Framework ไม่ใช่เรื่องใหม่อะไร มีนานแล้ว และมีหลาย ๆ องค์กรใช้หลักการนี้ในการบริหารงาน แต่โดยปกติแล้วทำงานด้วยหลักการทำงานด้วย Agile Framework ต้องทำหลายคน แต่ด้วยข้อจำกัด บทความนี้จะพูดถึงถ้าเราต้องทำงานคนเดียวหรือมีทีมไม่กี่คน แล้วอยากใช้ Framework นี้มาช่วยบริหารงานจะทำอย่างไรได้บ้าง 📊
Scrum Work Process from (https://www.mimeo.com/blog/three-reasons-scrum-master-certified/)
ก็อย่างที่บอก Agile Framework ไม่ใช่เรื่องใหม่อะไร หากลองค้นหาข้อมูลใน Google ก็จะพบผู้เขียนบทความและอธิบายไว้ค่อนข้างเยอะ (อาจจะเคยอ่านมาบ้าง) แต่บทความนี้จะนำเสนอ Agile Framework ที่ แตกต่างออกไป (จะเรียกว่าสรุปก็ได้) เพื่อให้กระชับและเข้าใจง่ายขึ้น 💡🎉
Agile Framework
TL; DR; Agile Framework คือหลักการบริหารโปรเจคงานแบบหนึ่ง
โฟกัสที่รอบการทำงาน
ที่เรียกว่าSprint
โดยโฟกัสความคืบหน้าตามรอบระยะเวลา เพื่อให้ลูกค้าจะได้ผลงานตามรอบของระยะเวลา และปรับแก้ไขข้อผิดพลาดได้อย่างรวดเร็ว เพื่อให้ตรงกับความต้องการลูกค้า
*Framework คือกรอบหรือข้อตกลงสำหรับการใช้งาน โดย Framework ได้กำหนดกฎเกณฑ์สำหรับการใช้งานไว้แล้วซึ่ง Framework เหมาะสำหรับการพัฒนาระบบเป็นทีม ที่ต้องการความยืดหยุ่น กรอบแบบแผนที่ชัดเจน เพื่อใช้สื่อสารกันในทีมได้ง่าย และประเมินผลได้
คำศัพท์
- Sprint คือรอบของการทำงาน (cycle) โดยการกำหนดรอบขึ้นอยู่กับเราเองหรือทีม ส่วนใหญ่รอบจะเป็น 1-4 สัปดาห์ เช่น 1 Sprint = 2 สัปดาห์
- Product Owner คือผู้ที่เป็นเสมือนลูกค้า หรือตัวแทนลูกค้า
- เขียน Product backlog items
- เขียน User Story ใช้อธิบาย Product
- จัด Backlog ที่เขียนไว้ใส่ใน Sprint เพื่อเรียงลำดับงาน ก่อน-หลัง ที่อยากจะเห็นในแต่ละ Sprint
- Product backlog คือรายการลิส (items) ความต้องการของ Product หรือ Requirement Specification (งานที่ยังไม่ได้ทำ)
- มอง Product เป็นงาน 1 ส่วนของโปรเจค (module)
- 1 Product ประกอบด้วยหลาย Items
- 1 Item ประกอบด้ว ยความหมายและผลลัพธ์ที่ต้องการ
- Scrum Team คือทีมที่ลงมือทำงานกัน
- ไม่แบ่งว่าใครทำหน้าที่อะไร
- ทุกคนสามารถทดแทนกันได้เสมอ
- ช่วยกันประเมิน Story Point ของ Backlog (อารมณ์เหมือนช่วยกันให้คะแนนความยากง่ายของงาน)
- Scrum Master คือผู้ที่คอยประสานงานระหว่าง Scrum Teams กับ Product Owner
- คอยดูแล Process ของ Framework
- จัดการ Scrum Board
- จัด Sprint Planning Meeting
- จัด Daily Scrum Meeting
- Story Point คือการกำหนดคะแนนความยากของงาน ซึ่งก็จะสัมพันธ์กับระยะเวลาที่ทำงานนั้น ๆ เช่น
- 0.5 story point
- 1 story point
- 2 story point
- 3 story point
- อื่น ๆ
- แต่ต้องทำความเข้าใจก่อนว่า Story Point คือ
คะแนนความยากของงาน
เท่านั้น! ย้ำว่าเท่านั้น ไม่ได้หมายถึงระยะเวลาของการทำงาน
- Sprint Planning Meeting คือการประชุมกันก่อนเริ่มแต่ละ Sprint ผู้มีส่วนร่วมได้แก่
- Scrum Team
- Scrum Master
- Product Owner
- Sprint Review ผู้มีส่วนร่วมได้แก่
- Scrum Team
- Scrum Master
- Product Owner
- Sprint Retrospective ผู้มีส่วนร่วมได้แก่
- Scrum Master
- Scrum Team
- Product Owner [optional]
ขั้นตอนการทำงานแบบ Agile
Scrum Board from (https://www.zoho.com/sprints/what-is-a-scrum-board.html)
- Product Owner เขียน Product backlog
- Sprint Planning Meeting
- นำ Product backlog มาแยกเป็น Tasks ย่อย ๆ
- ให้คะแนน Story Point ของแต่ละ Task
- Scrum Team แบ่ง Backlog task กันทำ
- Daily Scrum Meeting
- Sprint Review
- Sprint Retrospective
การวัดผลการทำงาน
การวัดผลอย่างง่ายของการทำงานแบบ Agile คือการดูผลจากกราฟ Burn Down Chart
Burn Down Chart from (https://worldofagile.com/blog/burn-down-chart/)
กราฟนี้บอกอะไร ? (แกน y คือจำนวน Tasks หรือ Story Point ที่ยังเหลืออยู่ / แกน x คือจำนวนวัน)
ความสัมพันธ์นี้สามารถอธิบายได้ว่า ยิ่ง Story Point ลดลง -> ระยะเวลาการทำงานก็จะลดตาม นั่นก็หมายความว่า
- Estimated Work (สีแดง) เส้นที่บอกว่างานควรเสร็จตอนไหน
- Actual Work (สีน้ำเงิน) เส้นที่บอกว่าครบกำหนดวันที่ควรเสร็จแล้ว แต่ Story Point ยังเหลือ (งานไม่เสร็จทันที่ควรจะเป็น)
ดังนั้นปัญหานี้อธิบายได้ 2 อย่างคือ
- มีบางช่วงที่ทำงานล่าช้า
- มีคนที่ทำงานเก่งกว่าเพื่อนในทีม โดยที่คนอื่น ๆ ยังทำไม่เสร็จ
ทีนี้เราก็จะเห็นแล้วว่า ช่วงไหนที่งานลดลงช้า-เร็ว ก็ต้องมาดูว่าเป็นเพราะอะไร แล้วก็ปรับแก้ไข