Contact

Follow

  • medium-logo-black-transparent
  • Black Twitter Icon

66 95-460-8830

©2017 by Coraline

Please reload

Recent Posts

แนวทางการปฏิบัติที่แตกต่างกัน ระหว่าง Waterfall กับ Agile

September 2, 2018

 

เมื่อโลกเปลี่ยนแปลงไปอย่างรวดเร็ว และมนุษย์เราเองก็มีพฤติกรรมที่เปลี่ยนไปอยู่เรื่อยๆ กลายเป็นว่า ทุกคนแข่งกัน “เร็ว” และต้อง “สำเร็จ” อย่างไรก็ตาม ตามหลักสรีรวิทยาได้กำหนดให้อะไรที่ “ใหญ่” มักจะ “ช้า” แต่ Big Data เป็นเรื่องที่ช้าไม่ได้ จึงเป็นที่มาของแนวทางการทำงานแบบ Agile ที่มีความหมายว่า “ความคล่องตัว”

 

ก่อนที่จะไปเข้าเรื่อง Agile เรามาเข้าใจการทำงานแบบเดิมก่อน นั่นคือ Waterfall หรือ การทำงานแบบเป็นลำดับขั้น เป็น วิธีการทำงานที่เราคุ้นเคยกันดี นั่นคือ มีการสั่งงานจากหัวหน้า มีการแยกส่วนกันทำงานชัดเจนในแต่ละฝ่าย มีหัวหน้าเป็นคนตัดสินใจ มีการนัดประชุมเพื่อนำเสนอผลงาน ทำงานไปเรื่อยๆ ตาม Timeline หรือ Routine เป็นกิจวัตร เมื่อมีโครงการ มักจะมีเวลาในการขึ้นโครงการค่อนข้างนาน โดยมีการส่งมอบงานในขั้นตอนสุดท้ายทีเดียว

               

ขั้นตอนการทำงานแบบ Waterfall เป็นการทำงานแบบไล่ระดับลงมา อาจจะมีทีมงานจำนวนมากในแต่ละส่วน ซึ่งทำงานแยกส่วนกัน เป็นการทำงานประเภท Top-down ตามคำสั่งของผู้มีอำนาจ และด้วยความที่มีกระบวนการตัดสินใจที่หัวเรือใหญ่ที่เดียว แต่มีขั้นตอนมากมายหลายขั้นกว่าจะไปถึงหัวเรือใหญ่ได้ ทำให้วิธีการนี้ใช้เวลาค่อนข้างมาก

 

ตัวอย่างเช่น หลายองค์กรมีปัญหาเรื่อง “ไม่สามารถนัดหมายตารางเวลาของผู้บริหารได้” ทำให้ทีมงานก็ต้อง “รอ” ไปเรื่อยๆ ไม่เกิดงานใดๆ

 

ที่เป็นเช่นนี้ เพราะ ผู้บริหาร เป็นผู้กำหนดทิศทาง และตัดสินใจ หรือ “เคาะ” โครงการ ในขณะที่ผู้ปฏิบัติงาน มีหน้าที่ปฏิบัติงานตามที่ได้รับมอบหมาย

 

ขั้นตอนการทำงานจึงชัดเจน ได้แก่

  1. Requirements หรือ การระบุเป้าหมายของการทำงาน ซึ่งเมื่อระบุแล้ว จะไม่สามารถเปลี่ยนแปลงได้อีกแล้ว ตัวอย่างเช่น องค์กรใหญ่ที่ต้องมีการเข้าบอร์ด เพื่ออนุมัติโครงการ หรือโครงการของภาครัฐที่ต้องมีการตั้งงบประมาณข้ามปี โดยที่เมื่อตั้งงบแล้ว ต้องใช้ตามที่ระบุเอาไว้ ผู้มีหน้าที่ตั้งเป้าหมายนี้ คือ Project Owner

  2. Design หรือ การออกแบบแนวทางในการแก้ปัญหา ซึ่งเกิดขึ้นเมื่อมีการวางเป้าหมายเอาไว้ นั่นหมายความว่า อย่างไรก็ตาม จะต้อง Design ให้เกิดผลลัพธ์ตามที่ระบุเอาไว้ในขั้นตอนแรก ไม่สามารถเปลี่ยนแปลงได้

  3. Implementation หรือ การนำไปใช้งาน เป็นขั้นตอนการลงระบบ นำ Platform หรือ Software นั้นๆ ไปใช้งาน ซึ่งการนำไป Implement ต้องรอให้ระบบนั้นมีความสมบูรณ์แบบทั้งหมดเสียก่อน อาจจะใช้เวลาหลายเดือน หรือเป็นปี

  4. Verification ขั้นตอนในการตรวจสอบงาน ให้เป็นไปตาม Requirement ที่ระบุเอาไว้ ทั้งนี้ การตรวจสอบนี้ จะต้องเป็นไปตามที่ระบุเอาไว้ตั้งแต่การของบ แม้ว่า ณ วันที่ตรวจสอบ จะมีเทคโนโลยีอื่นๆ หรือ มีสภาวะแวดล้อมที่เปลี่ยนไปแค่ไหนก็ตาม การรับมอบงานต้องเป็นไปตามขอบเขตที่กำหนดเอาไว้แต่เดิมเท่านั้น มิเช่นนั้น จะต้องเขียนสัญญาใหม่

  5. Maintenance หรือ การซ่อมบำรุง เมื่อเวลาผ่านไป ก็ต้องมีการซ่อมบำรุงให้ระบบสามารถใช้งานได้อย่างมีประสิทธิภาพ

 

การทำงานแบบ Waterfall ไม่ได้จำกัดอยู่แค่ในหมวดงานประเภทเทคโนโลยีเท่านั้น แต่งานส่วนอื่นๆ ที่มีลักษณะการตัดสินใจโดยมีขั้นตอน หรือลำดับขั้นอาวุโส ก็ถือว่าเป็นการทำงานแบบ Waterfall ได้เช่นกัน

 

ทั้งนี้ การทำงานแบบ Waterfall นี้ ก็มีข้อดี-ข้อเสีย ในตัวของมันเอง อย่างไรตาม ในปัจจุบันนี้ วงจรชีวิตของ Software และ Technology ต่างๆ มีอายุขัยที่สั้นลง ซึ่งเกิดจากการพัฒนาทางด้านเทคโนโลยีที่ไม่หยุดอยู่กับที่ ทำให้การทำโครงการเกี่ยวกับเทคโนโลยี มีรูปแบบที่เปลี่ยนแปลงไปจากเดิมที่เลือกซื้อ Software สำเร็จรูป จึงเปลี่ยนสภาพไปเป็นมองหา Software ที่ยืดหยุ่น และเป็นเอกเทศ สร้างขึ้นมาเพื่องานนั้นๆ สามารถแก้ไข หรือเขียนโปรแกรมเพิ่มเติมเข้าไปในระบบเดิมได้ เพื่อลดความเสี่ยงเมื่อเกิดการเปลี่ยนแปลงในอนาคต จึงเป็นที่มาว่า แนวทางการทำงานแบบ Agile ได้เข้ามาแทนที่การทำงานแบบ Waterfall ในวงการเทคโนโลยี

 

แนวคิดของ Agile จะเน้นการทำงานเป็นทีม และจำเป็นต้องมีการสื่อสารกันในทีมอย่างต่อเนื่อง ในการส่งมอบงานนั้น ไม่จำเป็นต้องสำเร็จสมบูรณ์ แต่จะแบ่งส่วนการส่งมอบออกเป็นหลายๆ ส่วน เพื่อให้สามารถส่งมอบงานชิ้นเล็กชิ้นน้อยออกมาได้ก่อน เหตุผลที่ต้องให้การส่งมอบงานออกมาก่อนนั้น ก็เพื่อต้องการศึกษาข้อผิดพลาด และหากมีข้อผิดพลาด ก็ต้องมีการแก้ไข้โดยเร็ว แต่หากไม่มีข้อผิดพลาด ก็ต้องต่อยอดผลิตภัณฑ์ หรือบริการนั้นต่อไปเรื่อยๆ

 

ขั้นตอนการทำงานแบบ Agile ประกอบไปด้วย

  1. วางเป้าหมาย

  2. ออกแบบ

  3. สร้าง

  4. ทดสอบ

  5. ประเมินผล และนำผลลัพธ์ไปวางเป็นเป้าหมายต่อไป

ทำซ้ำๆ แบบนี้ จนกว่าจะถึงจุด Final

 

การทำงานแบบนี้ ดูเหมือนจะทำให้เกิดงานได้ช้า เพราะมีปริมาณคนในทีมน้อยกว่า แต่กลับกัน งานที่ใช้หลักการ Agile จะเกิดขึ้นได้รวดเร็วกว่า เพราะหลักการ Agile จะมีการลดขั้นตอนที่ไม่จำเป็นออกไป และเน้นการปรึกษาหารือกันในทีมอย่างสม่ำเสมอ ส่วนเรื่องปริมาณบุคลากรในทีมนั้น เพราะการทำงานแบบ Agile จะเน้นให้ทุกคนในทีม มีความโดดเด่นที่ใกล้เคียงกัน เป็นการใช้ศักยภาพของบุคลากรได้อย่างมีประสิทธิภาพสูงสุด และให้ความสำคัญกับคุณค่าของงาน ทำให้ลักษณะการทำงานแบบ Agile มีความพร้อมต่อการเปลี่ยนแปลง และต้องปรับตัวอยู่เสมอ ดังเช่นความหมายของคำว่า “Agile” นั่นเอง

 

องค์กรใหญ่จะสามารถใช้แนวคิดแบบ Agile ได้หรือไม่? คำตอบคือ “ได้” แต่อาจต้องมีการปรับเปลี่ยนกระบวนการความคิด และอิสระในการตัดสินใจของทีมงานเสียหน่อย ซึ่งในช่วงเวลา 2-3 ปีที่ผ่านมา ก็ได้เห็นตัวอย่างองค์กรใหญ่หลายองค์กรในประเทศไทย เริ่มมีการปรับโครงสร้างบุคลากรกันบ้างแล้ว ส่วนหนึ่งอาจเป็นผลมาจากช่วงอายุของคนทำงาน ที่พบว่าเด็กรุ่นใหม่ มีแนวทางการทำงานที่เป็นตัวของตัวเองมากขึ้น และอีกส่วนหนึ่ง ก็เพื่อให้สามารถสร้างสรรค์ให้เกิดผลงานที่เป็น Digital ได้ง่ายขึ้น

 

อ่านแค่ทฤษฎี คงไม่เห็นภาพเท่าไหร่นัก ในกรณีของหลักการ Agile นั้น จะเน้นการ Sprint งานให้เร็ว ต่อยอดให้ได้เรื่อยๆ โดยที่ไม่จำเป็นต้องใช้ทีมงานขนาดใหญ่ ซึ่งในวันแรกที่ Grab ต้องการทำบริษัทนั้น เขาเพียงต้องการทำ Platform ที่ใช้เรียกรถแท็กซี่เท่านั้น ดังนั้น Sprint แรกของเขา คือ Platform ที่จับคู่ระหว่างคนขับแท็กซี่กับผู้ใช้บริการ เมื่อได้ข้อมูลมาเรื่อยๆ Sprint ที่ 2 คือ การทำ Product Recommendation Model หรือ Model เพื่อแนะนำสินค้า ในกรณีของ Grab คือ การทำ Model ที่เรียนรู้พฤติกรรมของคนขับแท็กซี่ ซึ่งแต่ละคนจะมีพฤติกรรมแตกต่างกัน เช่น บริเวณในการรับบริการ ช่วงเวลาให้บริการ และระยะทางที่พอใจในการให้บริการ เป็นต้น Model นี้ สร้างความพึงพอใจ ทั้งในมุมของคนขับแท็กซี่ และผู้ใช้บริการ เพราะในมุมผู้ขับ ก็จะได้ขับรถในบริเวณเดิมๆ ในเวลาที่สะดวก ส่วนมุมของผู้ใช้บริการ คือ มีอัตราในการได้รับบริการจากแท็กซี่มากขึ้น เนื่องจากไม่โดนปฏิเสธจากผู้ขับแท็กซี่ Sprint ที่3 ต่อมา เป็นการทำ Price Prediction โดยการนำสภาพอากาศ สภาพการจราจร และปริมาณผู้ใช้บริการ มาเป็นปัจจัยในการกำหนดราคา Sprint ที่ 4 5 6 และต่อๆ มา เป็นผลิตภัณฑ์ใหม่ๆ เช่น Grab Bike, Grab Food เป็นต้น ซึ่งแต่ละ Sprint ใช้เวลาในการออกผลิตภัณฑ์ไม่นาน ส่วนที่นาน อาจจะเป็นเรื่องการนำไปใช้งาน และรอเก็บข้อเสนอแนะ ก่อนที่จะใช้ข้อเสนอแนะนั้น เป็นความต้องการของ Sprint ในลำดับต่อไป

 

ทั้งหมดนั้น ใช้เวลาไม่นาน และไม่จำเป็นต้องมี “ผู้บริหาร” เป็นคนอนุมัติ และไม่ต้องมีการรอการเข้าบอร์ดแต่อย่างไร

 

หากถามว่า จะใช้แนวทาง Waterfall หรือ Agile ดีกว่ากัน ต้องตอบว่า “อยู่ที่วัฒนธรรมขององค์กร” ไม่ว่าจะเป็น Waterfall หรือ Agile ก็มีจุดประสงค์เดียวกัน คือ ต้องการให้โครงการสำเร็จตามเป้าหมายที่วางเอาไว้ แต่ การประยุกต์ใช้ Agile ต้องอาศัยมุมมอง และวิสัยทัศน์ใหม่ๆ ของผู้บริหาร และความพร้อมของทีมงาน โดยอาจต้องเริ่มจากการเปลี่ยนแนวแนวคิดการวางโครงสร้างบุคลากรในทีมเสียใหม่ โดยต้องเน้นให้เกิดงานแบบทีมเล็กๆ ที่มีความแข็งแกร่ง ทุกคนต้องสามารถตัดสินใจหน้างานตามที่ตนถนัดได้ และสามารถเสนอแนวคิดใหม่ๆ ให้ทีมรับทราบได้ ดังนั้น Agile อาจไม่เหมาะกับองค์กรใหญ่ที่มีทีมงานจำนวนมาก และมีการแบ่งฝ่ายกันทำงานเป็นส่วนๆ ก็เป็นได้

 

 

#BigData

#DataScience

#Optimization

#ProductivityImprovement

 

#Coraline ให้คำปรึกษาการทำ Big Data Project และ Digital Transformation เพื่อเพิ่มศักยภาพของธุรกิจ

 

Share on Facebook
Share on Twitter
Please reload

Please reload