Knowledge Sharing ชุมชนแห่งการเรียนรู้...
การใช้หลัก Agile ในการบริหารโครงการ (การสร้างซอฟต์แวร์) 77
การใช้หลัก Agile ในการบริหารโครงการ (การสร้างซอฟต์แวร์)
Agile หรือ อไจล์ คือรูปแบบหนึ่งของการบริหารจัดการโครงการ ที่สามารถปรับเปลี่ยนเพื่อตอบสนองความต้องการของลูกค้าได้อย่างรวดเร็ว ซึ่งการทำงานแบบ agile มี 2 องค์ประกอบคือ 4 มูลค่าหลัก (4 core values) และ หลักปฏิบัติ 12 ประการ (12 principles)
4 มูลค่าหลัก ได้แก่
- การให้ความสำคัญกับตัวผู้ทำงานและการมีปฏิสัมพันธ์ระหว่างผู้ทำงาน มากกว่าขั้นตอนวิธีการหรือเครื่องมือ
- การสร้างซอฟต์แวร์ หรือผลิตภัณฑ์ บริการ กระบวนการทำงาน ที่สามารถนำไปใช้งานได้จริงมากกว่าเอกสาร คู่มือ หรือการใช้เวลาในการวางแผนเอกสารงาน
- การทำงานร่วมกับลูกค้ามากกว่าการต่อรองสัญญากับลูกค้า
- การยอมรับเปลี่ยนซอฟต์แวร์หรือผลิตภัณฑ์ บริการ กระบวนการทำงาน ตามความเปลี่ยนแปลงของความต้องการของลูกค้า มากกว่าการทำตามแผนการเพียงอย่างเดียว
หลักปฏิบัติ 12 ประการ ได้แก่
- Customer Experience : ความพึงพอใจของลูกค้าคือความสำคัญสูงสุด
- Embrace Change : ยอมรับการเปลี่ยนแปลงความต้องการของลูกค้าจะเป็นช่วงท้ายของการพัฒนา
- Continues Delivery : ส่งมอบงานที่ใช้ได้จริงอย่างสม่ำเสมออาจเป็นทุก 2-3 สัปดาห์หรือทุก 2-3 เดือน
- Collaboration : ตัวแทนจากฝ่ายธุรการและนักพัฒนาจะต้องทำงานร่วมกันเป็นประจำทุกวันตลอดโครงการ
- Transparency : ต้องแน่ใจว่าสมาชิกโครงการเข้าใจและมีจุดมุ่งหมายของโครงการร่วมกัน สร้างสภาวะแวดล้อมตามที่ต้องการและสร้างความไว้วางใจเพื่อการทำงานให้บรรลุเป้าหมาย
- Hight Bandwidth Communication : การพูดคุยแบบซึ่งหน้าเป็นวิธีที่มีประสิทธิภาพและประสิทธิผลสูงสุดในการถ่ายทอดข้อมูลต่าง ๆ ไปสู่ทีมพัฒนาและภายในทีมพัฒนาเอง
- Working Software : Software ที่ใช้งานได้จริงเป็นตัวหลักในการวัดความก้าวหน้าของโครงการ
- Individuals : การใส่ใจในความเป็นเลิศทางเทคนิค และงานออกแบบที่ดีอย่างต่อเนื่องช่วยเพิ่มความเป็นอไจล์
- Sustainability : กระบวนการอไจล์สนับสนุนให้เกิดการพัฒนาแบบยั่งยืน ควรจะสามารถรักษาอัตราเร็วในการทำงานให้คงที่ได้ตลอดไป
- Just In Time : เรียบง่ายหรือศิลปะในการทำงานอย่างพอเพียงเป็นสิ่งสำคัญ
- Self Organized : งานออกแบบที่ดีที่สุดเกิดจากทีมที่บริหารจัดการตัวเองได้
- Retrospective : หาแนวทางพัฒนาโดยตรวจสอบการทำงานและนำสิ่งเหล่านั้นมาปรับปรุงเปลี่ยนแปลงพฤติกรรมของทีม
ความแตกต่างจากการบริหารโครงการแบบเดิม
การบริหารโครงการแบบเดิม จะเป็นการบริหารที่เป็นลำดับขั้น เรียกว่าเป็นแบบ Waterfall หรือการบริหารโครงการแบบน้ำตก ซึ่งจะมองงานเป็นส่วนๆ เริ่มจากการวางแผน (Plan) สร้างงาน (Build) ทดสอบผลที่ได้ (Test) ทวนสอบ (Review) และนำไปใช้งาน (Deploy) ซึ่งงานจะดำเนินไปและเสร็จสิ้นทีละขั้น ข้อดีคือเห็นผลชัดเจน แต่มีข้อด้อยคือแต่ละขั้นตอนต้องทำเสร็จสิ้นก่อนจึงไปสู่ขั้นถัดไปได้ จึงทำให้ได้ผลงานและแก้ไขข้อผิดพลาดได้ช้า ในขณะที่ Agile จะเป็นวิธีที่เน้นความคล่องแคล่ว สามารถตอบสนองความต้องการของลูกค้าอย่างรวดเร็ว
การใช้ Agile ในการบริหารโครงการมีหลักดังนี้
ความต้องการจะถูกมองเป็น Product Backlog ซึ่งจะถูกแบ่งเป็นส่วนย่อยและจัดลำดับความสำคัญ เปรียบได้เป็น Requirement Specification ซึ่งผู้จัดลำดับอาจเป็นผู้เกี่ยวข้องกับลูกค้า หรือผู้ผลิตก็ได้ เมื่อจัดลำดับแล้ว จะจัด Sprint Backlog (ชิ้นงานย่อย ๆ ที่ถูกจัดเตรียมเข้าสู่กระบวนการพัฒนา) เพื่อเลือก Product Backlog บางรายการที่มีความสำคัญขึ้นมาก่อนเข้าสู่กระบวนการทำ Sprint ในแต่ละรอบ ซึ่งประกอบด้วย Planning (การวางแผนกิจกรรม) Design (การออกแบบผลิตภัณฑ์) Testing (ทดสอบ) Release (ผลที่ได้จากแต่ละรอบ sprint) เมื่อนำมารวมกัน จะเรียกว่า Final Product ซึ่งการจัดสร้างทีม แบบ agile ต้องมีความเข้าใจในกระบวนการดำเนินงาน ดังนี้
1. มีการทำงานเป็นรอบ ๆ ละ 1-4 สัปดาห์แต่ละรอบ เรียกว่า SPRINT
2. มีการประชุมทุกวันเรียกว่า Daily Stand Up Meeting
3. มีการทำ SPRINT RETROSPECTIVE เมื่อสิ้นสุด แต่ละรอบ SPRINT
4. มีการรับ Feedback
5. ลูกค้า ทีมงานและผู้เกี่ยวข้อง มีการทำงานร่วมกันอย่างใกล้ชิด
การดำเนินงานตามหลัก Agile มี 6 ขั้นตอน ดังนี้
ขั้นที่ 1 Planning
ขั้นที่ 2 Roadmap Planning
ขั้นที่ 3 Release Planning
ขั้นที่ 4 Sprint Planning
ขั้นที่ 5 Daily Meetings
ขั้นที่ 6 Sprint Review and Retrospective
ประโยชน์ของการทำงานแบบ agile
1. สื่อสารกับลูกค้าได้อย่างต่อเนื่อง
2. สามารถปรับเปลี่ยนได้
3. การส่งมอบงานได้เร็วขึ้น
4. ลดความเสี่ยงที่มีผลต่อการดำเนินงาน
5. มีนวัตกรรมอย่างต่อเนื่อง
……………………..
ข้อมูลจากบทเรียนออนไลน์ ของสถาบันพัฒนาบุคลากรภาครัฐด้านดิจิทัล (TDGA)
หัวข้อ :การบริหารจัดการโครงการด้วยอไจล์ (Agile Project Management)
บรรยายโดย : รองศาสตราจารย์ ดร. วราพร จิระพันธุ์ทอง
ผู้อำนวยการหลักสูตรวิทยาศาสตรมหาบัณฑิต
สาขาวิศวกรรมเว็บและการพัฒนาแอปพลิเคชันบนอุปกรณ์พกพา
วิทยาลัยครีเอทีฟดีไซน์ แอนด์ เอ็นเตอร์เทนเมนต์เทคโนโลยี
มหาวิทยาลัยธุรกิจบัณฑิตย์
ภาพจาก https://www.vectorstock.com/