หากกล่าวถึงหลักการดำเนินงานขององค์กรยุคใหม่ Agile Methodology เป็นหลักที่ได้รับการหยิบยกขึ้นมาพูดถึงอย่างต่อเนื่องในช่วงหลายปีที่ผ่านมานี้ เนื่องจากช่วยให้องค์กรสามารถบริหารงานได้อย่างยืดหยุ่น คล่องตัว ด้วยการวางแผนและส่งมอบงานเป็นรอบๆ อย่างต่อเนื่อง ทำให้สามารถปรับการทำงานได้อย่างรวดเร็ว ทันกับสถานการณ์ที่เปลี่ยนไว
กระแสของการปรับใช้ Agile ได้จุดประเด็นคำถามขึ้นว่า แล้วองค์กรที่มีหลักการทำงานแบบ Waterfall ซึ่งเป็นการวางแผนการทำงานตั้งแต่ต้นจนจบเป็นรอบเดียว ควรต้องยกเครื่ององค์กรให้หันมาใช้ Agile อย่างเต็มรูปแบบเลยหรือไม่
สำหรับการเลือกหลักบริหารโครงการว่าจะเป็น Agile หรือ Waterfall นั้น องค์กรส่วนใหญ่ไม่ได้เลือกวิธีบริหารโครงการ ตามลักษณะของโครงการ แต่วิธีการบริหารโครงการนั้นถูกกำหนดมาตั้งแต่ต้นโดยวัฒนธรรมองค์กร แนวทางจากผู้บริหาร รวมถึงความชำนาญและความชอบของพนักงานในบริษัทที่เป็นตัวกำหนด หรือพูดง่าย ๆ คือ มีแนวทางในการบริหารโครงการในรูปแบบเดียว
โดย Bluebik ในฐานะบริษัทคอนซัลต์ชั้นนำ ที่ได้เข้าไปให้คำปรึกษาด้านกลยุทธ์และการจัดการด้วยนวัตกรรมและเทคโนโลยีให้กับองค์กรธุรกิจขนาดใหญ่ เกี่ยวกับการบริหารโครงการเชิงกลยุทธ์ที่มีความซับซ้อนสูง พบว่าองค์กรสามารถผสมผสานหลัก Agile และ Waterfall เข้าด้วยกันไม่ว่าจะเป็นเรื่อง Mindset แนวทางการทำงาน หรือเครื่องมือต่างๆ เพื่อสร้างผลลัพธ์ที่ดีและเหมาะสมต่อองค์กร
สร้างรูปแบบการทำงานแบบ Agile Waterfall ต้องเริ่มอย่างไร
หากกล่าวอย่างรวบรัด Agile Waterfall คือหลักการจัดการโครงการโดยนำข้อดีของ Agile และ Waterfall มาผสมผสานกัน เพื่อบริหารโครงการให้มีประสิทธิภาพสูงสุด และเหมาะสมกับโครงสร้างองค์กรมากที่สุด
คงต้องกล่าวว่า Agile เป็นมากกว่าแค่หลักการหรือรูปแบบการดำเนินโครงการ แต่เป็นเรื่องของ Mindset ด้วย หมายความว่าองค์กรที่มีรูปแบบการทำงานแบบ Waterfall สามารถพิจารณานำ Agile มาผสมผสานกับวิธีการทำงานปัจจุบันได้ในหลายกรณี อาทิ
- ต้องการเพิ่มการประสานงาน (Collaboration) กันระหว่างทีมงานกับลูกค้าหรือฝ่ายอื่นๆ ผ่านการสื่อสารที่เห็นกันอย่างทั่วถึง (Transparency)
- ต้องการปรับปรุงการทำงานภายในให้มีประสิทธิภาพมากขึ้นอย่างสม่ำเสมอ (Continuous Improvement) มีความยืดหยุ่นปรับเปลี่ยนได้ตามความเหมาะสมกับสถานการณ์ปัจจุบัน
- ต้องการสร้างความยั่งยืน (Sustainable Development) ในการทำงานของทีม โดยมีการส่งผลลัพธ์ออกมาอย่างสม่ำเสมอและไม่ไปสร้างภาระ (Technical Debt) ให้ไปชดเชยในวันข้างหน้า
สำหรับวิธีการนำ Agile เข้ามาผสมผสานกับ Waterfall มีหลากหลายรูปแบบ โดยวิธีการ Agile Waterfall ในบทความนี้เป็นเพียงรูปแบบหนึ่งเท่านั้น ด้วยการเริ่มต้นกำหนดภาพใหญ่ของโครงการให้เป็นแบบ Waterfall ซึ่งปกติจะประกอบด้วย 5 ขั้นตอน คือการริเริ่ม (Initiating) การวางแผน (Planning) การลงมือปฏิบัติจริง (Executing) การติดตามและควบคุมการดำเนินงาน (Monitoring & Controlling) และ การปิดโครงการ (Closing) จากนั้นทำการเปลี่ยนแปลง 2 ขั้นตอนคือ การลงมือปฏิบัติจริง และการติดตามและควบคุมการดำเนินงาน ให้เป็นแบบ Agile
Initiating
สำหรับขั้นตอนแรกช่วงเริ่มโครงการนั้น ในภาพรวมแทบไม่ได้แตกต่างจากแบบ Waterfall มากนัก โดยสิ่งที่จำเป็นต้องทำคือการเขียนเหตุผลการทำธุรกิจ (Business Case) และเอกสารสรุปที่อธิบายโครงการอย่างชัดเจน (Project Charter) รวมถึงประเมินระยะเวลาและทรัพยากรที่ต้องใช้ในการทำโครงการแบบคร่าวๆ เพื่อช่วยให้ผู้บริหารเห็นถึงภาพรวมในการลงทุนและประโยชน์ที่คาดว่าจะได้ในอนาคต
Planning
ขั้นตอนนี้เข้าสู่การผสมผสานข้อดีของการทำงานแบบ Agile และ Waterfall โดยแบ่งได้เป็น 2 ขั้นตอน
- เก็บรวบรวมความต้องการทั้งหมดของลูกค้า (Requirement) ซึ่งนับเป็นรูปแบบการทำงานแบบ Waterfall แต่ความแตกต่างคือต้องเข้าใจเป้าหมายและความต้องการที่แท้จริงของลูกค้า ซึ่งความต้องการนี้ไม่ควรจะเปลี่ยนแปลงในอนาคต เช่น ผู้ใช้ระบุว่าต้องการระบบที่ใช้ในการค้นหาสินค้าในวันแรก แต่สุดท้ายจะขอมาเปลี่ยนเป็น Platform ในการขายของ Online ไม่ได้
- นำความต้องการต่าง ๆ มาเขียนเป็น User Story และใส่ลงในรายการสิ่งที่ต้องทำทั้งหมด (Product Backlog) หากมีความต้องการเปลี่ยนแปลง (Change Request) เกิดขึ้นก็จะถูกบันทึกไว้ใน Product Backlog
Executing and Monitoring & Controlling
ในส่วนของแกนการทำงานด้านในที่ประกอบด้วยการลงมือปฏิบัติจริง (Executing) การติดตามและควบคุมการดำเนินงาน (Monitoring & Controlling) สามารถปรับให้เป็นแบบ Agile ได้ง่ายที่สุดเพราะเป็นเรื่องของกระบวนการภายในที่ได้รับผลกระทบจากผู้มีส่วนได้ส่วนเสียน้อยที่สุด ไม่ว่าจะเป็นส่วนของ Ceremonies หรือ Artefacts ต่างๆ ที่จะเกี่ยวข้องกับฝั่งพัฒนามากกว่าฝั่งผู้ใช้ ตัวอย่างของการนำ Agile Practice มาใช้ในสองส่วนนี้ก็ เช่น การแบ่งการทำงานออกเป็น Sprint และ ส่งมอบให้ Product Owner ตรวจสอบระบบที่มีลักษณะเพิ่มต่อยอดจาก Sprint ก่อนๆ (Incremental Delivery)
Closing
กระบวนการในช่วงนี้เป็นแบบเดียวกับรูปแบบ Waterfall ซึ่งประกอบด้วยการส่งมอบผลงานทั้งหมด การถ่ายทอดความรู้ การจัดทำ Lessons Learned รวมไปจนถึงการฉลองความสำเร็จของโครงการ
แน่นอนว่าการเริ่มต้นแนวทางใหม่ๆ จะมีความท้าทายเกิดขึ้นเสมอ ดังนั้นคำแนะนำเบื้องต้นในการนำ Agile Waterfall ไปปรับใช้ ได้แก่
- Champion team เริ่มต้นปรับใช้หลัก Agile Waterfall กับทีมที่มีประสบการณ์ขับเคลื่อนความสำเร็จองค์กร (Proven record of success) เพราะทีมงานที่มีคุณภาพจะช่วยกรุยทางและช่วยจัดการกับอุปสรรคที่เกิดขึ้น
- Pluck low-hanging fruit เริ่มต้นจากงานเล็กๆ ง่ายๆ ที่เหมาะสมกับ Agile Waterfall เพราะการนำแนวทางใหม่มาใช้มีความยุ่งยากมากพออยู่แล้ว จึงไม่ควรเพิ่มอุปสรรคให้ทีมมากเกินไป
- Always inspect and adapt ซึ่ง Agile คือการเรียนรู้และปรับปรุงไม่สิ้นสุด (Sprint Retrospective) หลักการของ Agile Waterfall ก็เช่นกันต้องสังเกตและหาวิธีปรับปรุงกระบวนการให้เหมาะกับองค์กรและโครงการอย่างสม่ำเสมอ
- Celebrate small win ฉลองทุกความสำเร็จของโครงการร่วมกับทีมงาน แม้จะเป็นเพียงความสำเร็จเล็กๆ ก็ตาม เพื่อสร้างขวัญกำลังใจและความสัมพันธ์ที่ดีภายในทีม
4 ปัจจัยส่งผลต่อความสำเร็จของ Agile Waterfall
1. Mutual Trust – ความเชื่อใจกันและกันเป็นสิ่งสำคัญระหว่างลูกค้าและทีมงาน โดยทางทีมงานต้องเชื่อมั่นว่าได้แบ่งปันเรื่องความต้องการ (Requirement) ไว้อย่างครบถ้วน และทางลูกค้าต้องเชื่อมั่นว่าทีมงานจะพัฒนาระบบอย่างสุดความสามารถภายใต้ข้อจำกัดต่างๆ ของโครงการ
2. Users Involvement – การทำงานแบบ Agile Waterfall นั้น User หรือผู้ใช้งานต้องเข้ามามีบทบาทในการร่วมออกแบบและพัฒนามากขึ้น เนื่องจากการส่งมอบงานเป็น Sprint ทำให้ต้องมีฟีดแบคอย่างสม่ำเสมอเพื่อให้โครงการดำเนินไปในทิศทางที่ถูกต้อง ต่างจากแบบ Waterfall ที่ส่วนใหญ่แล้วเป็นการให้ความต้องการทั้งหมดตั้งแต่ครั้งแรก (Big Requirement Upfront) และมีฟีดแบคอีกครั้งเมื่อผลงานสุดท้ายเสร็จสิ้น
3. Team Collective Commitment – สิ่งหนึ่งที่เป็นลักษณะเหมือนกันของ Agile และ Modern Waterfall คือทุกคนเป็นเจ้าของของแผนการดำเนินโครงการร่วมกัน แผนไม่ได้เกิดจาก Project Manager หรือ Scrum Master และแนวทางการดำเนินงานต่างๆ เป็นการตัดสินใจร่วมกันของทีม (Self-Organizing Team)
4. Dedication – ในการทำงานแบบ Agile ทีมงานจะต้องอยู่กับโครงการตั้งแต่ต้นจนจบ ดังนั้น ผู้บริหารจึงไม่ควรดึงตัวทีมงานออกจากโครงการหรือมอบหมายให้ทำงานอื่นๆคู่ขนาน โดยเฉพาะ Project Manager, Scrum master และ Key User แม้เป็นเพียงช่วงเวลาสั้นๆ ก็ตาม เพื่อลดความล่าช้าจากการรอผลลัพธ์ของกิจกรรมของคนเหล่านี้
ในความเป็นจริง การดำเนินโครงการก็มีอีกหลากหลายแนวทาง ไม่ใช่เพียงแค่ Agile หรือ Waterfall ซึ่งหากเราทำความเข้าใจในข้อดีข้อเสียข้อจำกัดของแต่ละแนวทางและนำมาประยุกต์ใช้ด้วยกันในสถานการณ์ที่เหมาะสม แน่นอนย่อมส่งผลดีต่อทีมและบริษัท เพราะในโลกของการบริหารจัดการโครงการ ทุกอย่างสามารถทับซ้อนกันได้ ไม่ใช่เลือกสิ่งใดแล้วต้องทิ้งสิ่งอื่นไป ประเด็นคือต้องเลือกวิธีการและปรับปรุงแนวทางตามลักษณะของโครงการควบคู่กับวัฒนธรรมและความชอบของทีม บริษัทที่มีทีมงานที่สามารถปรับปรุงแนวทางปฏิบัติของตนเองให้เข้ากับลักษณะของโครงการ ย่อมมีข้อได้เปรียบในการแข่งขันเหนือองค์กรที่มีแนวทางการบริหารโครงการแบบเดียว