IT General
น้องๆ เคยเจอปัญหาทำงานกลุ่มแล้วตีกันไหม? ใครไม่ทำ ใครทำเยอะ? Agile Scrum ก็เหมือนยาแก้ปวดหัวสำหรับปัญหานั้นแหละ สมัยผมทำร้านเน็ต SiamCafe.net เนี่ย โปรเจกต์เล็กโปรเจกต์ใหญ่ต้องใช้ทีมเวิร์คทั้งนั้น ถ้าไม่มีระบบดีๆ รับรองเละ! Agile Scrum เป็น Framework ที่ช่วยให้ทีมทำงานร่วมกันได้อย่างมีประสิทธิภาพมากขึ้น เน้นการปรับตัวและส่งมอบงานเป็นช่วงๆ หรือที่เราเรียกกันว่า Sprint
ทำไมถึงสำคัญน่ะเหรอ? ลองนึกภาพว่าเรากำลังสร้างบ้าน ถ้าทำแบบเดิมๆ คือวางแผนทุกอย่างตั้งแต่ต้นจนจบ แล้วค่อยเริ่มสร้าง พอเจอปัญหาหน้างานก็ต้องรื้อใหม่หมด เสียเวลา เสียเงิน บานปลาย! แต่ Agile Scrum จะแบ่งการสร้างบ้านออกเป็นส่วนๆ เช่น สร้างห้องน้ำก่อน แล้วค่อยสร้างห้องครัว พอสร้างห้องน้ำเสร็จก็เอาไปให้เจ้าของบ้านดู ถ้าไม่ชอบก็แก้กันไปเลย ไม่ต้องรอสร้างเสร็จทั้งหลังถึงจะรู้ว่าไม่ชอบ แบบนี้มันดีกว่าเยอะเลย จริงไหม?
หัวใจของ Agile คือ Agile Manifesto ซึ่งมีค่านิยมหลักๆ อยู่ 4 ข้อ:
จำไว้เลยว่า Agile ไม่ใช่แค่การทำตามขั้นตอน แต่เป็นการปรับตัวและทำงานร่วมกันเพื่อส่งมอบสิ่งที่ดีที่สุดให้กับลูกค้า
ใน Scrum จะมี 3 บทบาทหลักๆ:
สมัยผมทำ SiamCafe.net ก็ต้องสวมหลายหมวก บางทีก็เป็น Product Owner บางทีก็เป็น Scrum Master ขึ้นอยู่กับโปรเจกต์
การเริ่มต้นใช้ Agile Scrum ไม่ยากอย่างที่คิด แค่เข้าใจหลักการและนำไปปรับใช้ให้เข้ากับทีมของเรา สมัยก่อนผมก็เริ่มจากโปรเจกต์เล็กๆ ก่อน แล้วค่อยๆ ขยายไปโปรเจกต์ใหญ่ขึ้น
Sprint Planning คือการประชุมเพื่อวางแผนว่าจะทำอะไรใน Sprint นี้บ้าง Product Owner จะนำเสนอ Product Backlog แล้วทีมจะช่วยกันเลือก Item ที่จะทำใน Sprint นี้ และกำหนด Sprint Goal (เป้าหมายของ Sprint) SiamCafe Blog มีบทความดีๆ เกี่ยวกับการวางแผนเยอะเลย ลองไปอ่านดู
// ตัวอย่าง Product Backlog Item
{
"id": 1,
"name": "เพิ่มระบบ Login ด้วย Facebook",
"priority": "High",
"estimated_effort": "5 days"
}
Daily Scrum คือการประชุมสั้นๆ (ไม่เกิน 15 นาที) ทุกวัน เพื่ออัพเดทความคืบหน้าของงาน สมาชิกในทีมจะตอบคำถาม 3 ข้อ:
การประชุมนี้จะช่วยให้ทีมรู้ว่าใครกำลังทำอะไรอยู่ และมีปัญหาอะไรที่ต้องแก้ไข
Sprint Review คือการประชุมเมื่อสิ้นสุด Sprint เพื่อนำเสนอ Product Increment ให้กับ Stakeholders (ผู้มีส่วนได้ส่วนเสีย) Stakeholders จะให้ Feedback เพื่อนำไปปรับปรุงใน Sprint ถัดไป
Sprint Retrospective คือการประชุมหลัง Sprint Review เพื่อให้ทีมทบทวนการทำงานของตัวเอง หาจุดที่ทำได้ดีและจุดที่ต้องปรับปรุง เพื่อให้การทำงานใน Sprint ถัดไปดีขึ้น
Agile Scrum ไม่ใช่ยาวิเศษที่แก้ได้ทุกปัญหา ต้องอาศัยความเข้าใจและการปรับตัวให้เข้ากับสถานการณ์จริง อย่ากลัวที่จะลองผิดลองถูก เรียนรู้จากความผิดพลาด และปรับปรุงกระบวนการทำงานอยู่เสมอ
Agile Scrum ไม่ใช่ Framework เดียวในการบริหารจัดการโปรเจกต์ ยังมีทางเลือกอื่นๆ เช่น Waterfall, Kanban, หรือ Lean แต่ละ Framework ก็มีข้อดีข้อเสียแตกต่างกันไป เราต้องเลือกใช้ให้เหมาะสมกับโปรเจกต์ของเรา
| Framework | ข้อดี | ข้อเสีย | เหมาะกับโปรเจกต์ |
|---|---|---|---|
| Waterfall | วางแผนละเอียด, ควบคุมง่าย | ปรับตัวยาก, ไม่เหมาะกับโปรเจกต์ที่ต้องการความยืดหยุ่น | โปรเจกต์ที่มีความต้องการชัดเจนและไม่เปลี่ยนแปลงบ่อย |
| Agile Scrum | ปรับตัวง่าย, ส่งมอบงานได้เร็ว, ทำงานร่วมกับลูกค้าได้ดี | ต้องการทีมที่มีความสามารถ, ต้องมีการสื่อสารที่ดี | โปรเจกต์ที่ต้องการความยืดหยุ่นและมีการเปลี่ยนแปลงบ่อย |
| Kanban | เห็นภาพรวมของงาน, บริหารจัดการ Workflow ได้ดี | ไม่เหมาะกับโปรเจกต์ที่มี Deadline ชัดเจน | โปรเจกต์ที่ต้องการ Continuous Improvement |
สมัยผมทำ SiamCafe.net ก็เคยลองใช้มาหลาย Framework สุดท้ายก็พบว่า Agile Scrum เหมาะกับเราที่สุด เพราะเราต้องการความยืดหยุ่นและต้องการทำงานร่วมกับลูกค้าอย่างใกล้ชิด
หวังว่าน้องๆ จะได้ประโยชน์จากบทความนี้นะครับ ลองเอาไปปรับใช้กันดู แล้วอย่าลืมแวะมาอ่านบทความอื่นๆ ใน SiamCafe Blog ด้วยนะครับ
เอาล่ะ น้องๆ มาถึงตรงนี้แล้ว หวังว่าคงพอเห็นภาพ Agile Scrum กันบ้างแล้วนะ สมัยผมทำร้านเน็ตเนี่ย บอกเลยว่าไม่มีใครรู้จัก Agile หรอก (ฮา) แต่คอนเซ็ปต์หลายๆ อย่างมันก็แฝงอยู่ในวิธีการทำงานของเราอยู่แล้วโดยไม่รู้ตัว
สิ่งที่ผมจะแชร์ต่อไปนี้ เป็นเคล็ดลับที่กลั่นมาจากประสบการณ์จริง ทั้งจากร้านเน็ต และจากโปรเจกต์ IT ที่ผมเคยทำมา หวังว่าจะเป็นประโยชน์นะ
สมัยร้านเน็ต ผมไม่ได้เรียกมันว่า Daily Stand-up หรอกนะ (ตอนนั้นยังไม่รู้จักคำนี้เลย) แต่ทุกเช้าก่อนเปิดร้าน เราจะคุยกันสั้นๆ ว่าเมื่อวานใครเจอปัญหาอะไรบ้าง วันนี้ใครจะทำอะไร แล้วมีอะไรที่ต้องประสานงานกันเป็นพิเศษไหม
เปรียบเทียบกับการพัฒนาโปรแกรม ก็เหมือนกันเลย น้องๆ ต้องมี Daily Meeting ทุกวัน คุยกันสั้นๆ ไม่ต้องยาว ให้ทุกคนอัปเดตสถานะของตัวเอง แล้วแจ้งปัญหาที่เจอ เพื่อให้ทีมช่วยกันแก้ไขได้ทันท่วงที
หลังจากปิดร้านแต่ละวัน เราจะมานั่งคุยกันว่า วันนี้มีอะไรดี อะไรไม่ดี ลูกค้าบ่นเรื่องอะไรบ้าง เครื่องไหนมีปัญหา แล้วเราจะปรับปรุงอะไรได้บ้างในวันพรุ่งนี้
ใน Scrum ก็เหมือนกัน Sprint Review คือการที่เราเอา Product ที่เสร็จใน Sprint นั้นๆ ไปให้ Stakeholder ดู แล้วเก็บ Feedback ส่วน Sprint Retrospective คือการที่ทีมมานั่งคุยกันว่า ใน Sprint ที่ผ่านมา มีอะไรที่เราทำได้ดี มีอะไรที่เราต้องปรับปรุง
สมัยร้านเน็ต เวลาลูกค้าบอกว่าอยากได้เกมใหม่ เราจะดูว่าเกมไหนที่ลูกค้ารีเควสเยอะที่สุด แล้วค่อยไปซื้อมาลงร้าน บางทีก็ต้องดูด้วยว่าสเปคเครื่องเราไหวไหม (ฮา)
ใน Scrum ก็เหมือนกัน Product Backlog คือรายการสิ่งที่ต้องทำทั้งหมด Product Owner จะเป็นคนจัดลำดับความสำคัญของ Backlog โดยดูจาก Value ที่จะได้รับ และความเสี่ยงที่จะเกิดขึ้น แล้วทีมก็จะหยิบ Backlog ที่สำคัญที่สุดมาทำก่อน
สมัยร้านเน็ต ผมจะเขียนรายการเกมใหม่ๆ ที่ลูกค้าอยากได้ ไว้บนกระดานไวท์บอร์ด ใครอยากเล่นเกมไหน ก็มาเขียนชื่อไว้ แล้วเราก็จะมาดูกันว่าเกมไหนฮิตสุด
ใน Scrum ก็เหมือนกัน เราใช้ Kanban Board เพื่อ Visualize Work Flow ทำให้ทุกคนเห็นภาพว่าตอนนี้งานแต่ละชิ้นอยู่ที่ Stage ไหนแล้ว มีอะไรติดขัดอยู่บ้าง
ทำได้ครับ แต่ลองคิดดูว่าสมัยผมทำร้านเน็ต ถ้าผมทำตามแผนที่วางไว้เป๊ะๆ โดยไม่สนใจว่าลูกค้าอยากได้อะไร ร้านผมจะอยู่รอดไหม? Agile เหมาะกับ Project ที่มีการเปลี่ยนแปลงบ่อยๆ ต้องการความยืดหยุ่น และต้องการ Feedback จากลูกค้าอย่างสม่ำเสมอ iCafeForex ก็ใช้ Agile นะครับ
ไม่จำเป็นครับ หน้าที่หลักของ Scrum Master คือการ Facilitate ให้ทีมทำงานได้อย่างราบรื่น แก้ไขปัญหาที่เกิดขึ้น และโค้ชให้ทีมเข้าใจหลักการของ Scrum
โดยทั่วไป Sprint Planning ไม่ควรเกิน 8 ชั่วโมง สำหรับ Sprint ที่ยาว 4 สัปดาห์ ถ้า Sprint สั้นกว่านั้น ก็ลดเวลาลงตามสัดส่วนครับ
ไม่ครับ Agile ไม่ได้เหมาะกับทุก Project บาง Project ที่มีความต้องการชัดเจน และมีการเปลี่ยนแปลงน้อย Waterfall อาจจะเหมาะสมกว่า
Agile Scrum เป็น Framework ที่ช่วยให้เราพัฒนา Product ได้อย่างรวดเร็ว ยืดหยุ่น และตอบสนองความต้องการของลูกค้าได้ดียิ่งขึ้น แต่สิ่งสำคัญที่สุดคือการทำความเข้าใจหลักการของ Agile และปรับใช้ให้เหมาะสมกับบริบทของแต่ละ Project ลองเข้าไปอ่าน SiamCafe Blog ดูนะ มีบทความน่าสนใจอีกเยอะเลย
หวังว่าบทความนี้จะเป็นประโยชน์กับน้องๆ นะครับ ถ้ามีคำถามอะไรเพิ่มเติม ถามมาได้เลยครับ