Agile คืออะไร หลายคนน่าจะเคยได้ยินคำว่า Agile มาบ่อยๆ แม้กระทั่งบทความที่อยู่ในเว็บหลายครั้งเราก็พูดถึงคำนี้ วันนี้ก็เลยคิดว่าเอาคำนี้มาขยายความให้เข้าใจแบบชัดเจนจะดีกว่า เพื่อให้เข้าใจถึงบทบาทและความสำคัญของ Agile ที่สามารถสร้างผลกระทบให้กับการดำเนินธุรกิจหรือแนวความคิดได้
Agile คืออะไร
Agile เป็นแนวความคิดในการพัฒนาซอฟต์แวร์ โดยมีเป้าหมายหลักคือการสามารถส่งมอบ “Working software” ได้อย่างต่อเนื่องโดยมีวงรอบในการพัฒนาสั้นๆ ในแต่ละวงรอบจะประกอบไปด้วยการวิเคราะห์ออกแบบและพัฒนา เพื่อให้ได้สิ่งที่ต้องการ ตามเป้าหมายระยะสั้น และในแต่ละวงรอบก็จะมีการตรวจสอบ ว่าไปตามเป้าหมายหรือไม่ และมีการพัฒนาต่อยอดขึ้นไปในวงรอบถัดไป เมื่อทำวงรอบเหล่านี้ซ้ำๆ เราก็จะได้งานที่ขยายผลดีมากขึ้นอย่างต่อเนื่อง
Agile จริงๆแล้ว เป็นแค่กระบวนการทางความคิด
จริงๆแล้ว Agile เขาไม่ได้บอกว่าเราจะต้องทำอะไร หรือต้องทำอย่างไร แต่เขาบอกไว้เพียงแค่แนวคิด เพราะมีความเชื่อว่าถ้าทุกคนสามารถมองเห็นภาพและเข้าใจไปในแนวทางเดียวกันได้ ก็จะสามารถร่วมมือกันทำงานเพื่อให้ได้ผลลัพธ์ตามที่ตกลงกันได้
Agile ประกอบด้วยอะไรบ้าง
- คนและการมีปฏิสัมพันธ์กัน มากกว่าการทำตามขั้นตอนและเครื่องมือ
- ซอฟต์แวร์ที่นำไปใช้งานได้จริง มากกว่าเอกสารที่ครบถ้วนสมบูรณ์
- ร่วมมือทำงานกับลูกค้า มากกว่าการต่อรองให้เป็นไปตามสัญญา
- การตอบรับกับการเปลี่ยนแปลง มากกว่าการทำตามแผนที่วางไว้
แนวความคิดถูกตั้งอยู่บน 4 หัวข้อนี้เท่านั้น ถ้าเราจะสรุปให้สั้นๆก็คือ เน้นการร่วมมือกันพูดคุยให้เข้าใจ และการทำงานร่วมกับผู้ใช้งานจริง และนำความต้องการนั้นไปสร้างออกมาเป็นสิ่งที่ผู้ใช้งานต้องการ จากนั้นจึงมีการตรวจสอบว่าตรงกับสิ่งที่ผู้ใช้งานต้องการจริง หรือตรวจสอบว่าสิ่งที่ทำออกมานั้นถึงตรงไหนแล้วและปรับปรุงเพิ่มเข้าไปอย่างต่อเนื่อง ในกรอบเวลาที่เป็นวงรอบ แบบชัดเจน
หลักการทำงานตามแบบ Agile
อย่างที่กล่าวไว้ข้างต้นแล้วว่า Agile ไม่ได้กำหนดวิธีการทำงานเอาไว้ ว่าต้องทำงานแบบไหน ถึงจะเรียกว่า Agile แต่มีหลักการ 12 ข้อ ดังนี้
- ความสำคัญสูงสุดของพวกเราคือความพึงพอใจของลูกค้า ที่มีต่อการส่งมอบซอฟท์แวร์ที่มีคุณค่าต่อลูกค้า ตั้งแต่ต้นอย่างต่อเนื่อง
- ยอมรับการเปลี่ยนแปลงความต้องการของลูกค้าแม้ในช่วงท้ายของการพัฒนา เพราะอไจล์สามารถแปรเอาความเปลี่ยนแปลง มาเป็นความได้เปรียบในการแข่งขันของลูกค้า
- ส่งมอบซอฟท์แวร์ที่ใช้งานได้จริงอย่างสม่ำเสมอ อาจเป็นทุกสองถึงสามสัปดาห์หรือทุกสองถึงสามเดือน โดยควรทำให้ระยะเวลาระหว่างการส่งมอบนั้นสั้นที่สุดเท่าที่เป็นไปได้
- ตัวแทนจากฝ่ายธุรกิจและนักพัฒนา จะต้องทำงานร่วมกันเป็นประจำทุกวันตลอดโครงการ ทำให้แน่ใจว่าสมาชิกโครงการเข้าใจและมีจุดมุ่งหมายของโครงการร่วมกัน
- สร้างสภาวะแวดล้อมและให้การสนับสนุนในสิ่งที่พวกเขาต้องการ และให้ความไว้วางใจแก่พวกเขาในการที่จะทำงานให้บรรลุเป้าหมายนั้น
- วิธีที่มีประสิทธิภาพและประสิทธิผลสูงสุดในการถ่ายทอดข้อมูลต่างๆ ไปสู่ทีมพัฒนาและภายในทีมพัฒนาเองคือการพูดคุยแบบซึ่งหน้า
- ซอฟท์แวร์ที่ใช้งานได้จริงเป็นตัวหลักในการวัดความก้าวหน้าของโครงการ
- กระบวนการอไจล์สนับสนุนให้เกิดการพัฒนาแบบยั่งยืน กล่าวคือผู้สนับสนุนนักพัฒนา และตัวแทนผู้ใช้ ควรจะสามารถรักษาอัตราเร็วในการทำงานร่วมกันให้คงที่ได้ตลอดไป
- การใส่ใจในความเป็นเลิศทางเทคนิค และงานออกแบบที่ดีอย่างต่อเนื่องจะช่วยเพิ่มความเป็นอไจล์
- ความเรียบง่าย หรือศิลปะในการทำงานอย่างพอเพียง นั้นสำคัญยิ่ง
- สถาปัตยกรรมซอฟต์แวร์ ความต้องการของลูกค้า และงานออกแบบที่ดีที่สุด เกิดจากทีมที่บริหารจัดการตัวเองได้ทุกช่วงเวลาหนึ่งเป็นประจำ
- ทีมจะต้องย้อนกลับไปตรองดูสิ่งที่ผ่านมา เพื่อหาทางที่จะพัฒนาความมีประสิทธิผลของทีมแล้วนำสิ่งเหล่านั้นมาปรับปรุงและเปลี่ยนแปลงพฤติกรรมของทีม
Agile มีผลต่อการทำ Digital Transformation อย่างไร
จากแนวความคิดทั้ง 4 ข้อ และหลักการของ Agile ทั้ง 12 ข้อ จะเห็นได้ว่าหัวใจที่สำคัญจริงๆก็คือ การทำอะไรบางอย่างให้มีความคืบหน้า และพูดคุยกันถึงความต้องการอันเป็นเรื่องที่สำคัญที่สุดกันอย่างสม่ำเสมอ มีการกำหนดรอบเวลาที่ชัดเจน เพื่อให้ทุกคนเข้าใจตรงกันและกำหนดความคาดหวังในการทำงานในรอบนั้นๆ ซึ่งมันก็สอดคล้องกับการทำ Digital transformation อย่างยิ่ง เพราะในตอนที่เราเริ่มต้น เราอาจจะไม่รู้เลยว่าผลลัพธ์มันจะออกมาดีหรือไม่ เราได้แต่คาดหวังว่ามันจะต้องออกมาดี และเราก็เริ่มลงมือทันที โดยใช้กรอบเวลาสั้นๆเพื่อให้เริ่มเห็นอะไรออกมาบางอย่าง จากนั้นก็ทดสอบเพื่อใช้งานจริง แล้วมาตรวจสอบว่าสิ่งที่ทำออกมานั้นได้ผลลัพธ์เป็นไปอย่างที่ต้องการหรือเปล่า ถ้าใช่ก็ไปกันต่อแต่ถ้าไม่ใช่ก็ปรับปรุงหรืออาจจะยกเลิกโครงการนั้นไป ซึ่งหากเป็นการยกเลิกก็จะเห็นได้ว่าเราจะเสียเวลาไปไม่นานนัก และนั่นหมายถึงทรัพยากรต่างๆที่เสียไปจำนวนเล็กน้อยด้วย
กระบวนการทำงานของ Agile จึงหมุนเป็นวงรอบในแต่ละวงรอบตามกรอบระยะเวลาที่กำหนดร่วมกัน ตั้งแต่ 1 ถึง 4 สัปดาห์เท่านั้น หมายความว่าในทุกๆ 1-4 สัปดาห์คนใช้งานจะต้องได้เห็น และทดลองใช้อะไรบางอย่าง เพื่อให้คำแนะนำติชมเพื่อใช้ไปปรับปรุงในรอบการทดสอบถัดไป งานนั้นจึงจะได้ผลออกมาที่ดีขึ้นเรื่อยๆในทุกๆรอบที่ผ่านไป แต่ถ้าไม่ดีก็โยนมันทิ้งก็เสียเวลาเพียงแค่ 1-4 สัปดาห์เท่านั้น
Agile มีข้อดีอะไรบ้าง
อย่างที่เล่าให้ฟังไปแล้วข้างต้น เราจะได้เห็นหรือได้จับต้องในสิ่งที่เราต้องการ แม้ว่ามันไม่ใช่ตัวที่สมบูรณ์แบบ แต่ก็พอจะทำให้เราเข้าใจอะไรมากขึ้นได้ รวมถึงเราสามารถไปทดสอบใช้งานกับลูกค้าได้ด้วย มันเสียเวลาเพียงแค่สั้นๆเท่านั้นก็ได้ต้นแบบนี้ออกมา และเรายังมั่นใจได้ว่า ถ้าเราจะทำไปต่อเราจะมีแนวทางในการพัฒนาและปรับปรุงแบบนี้ไปได้เรื่อยๆ
กลับกัน หากต้นแบบที่เราทำออกมานั้น หลังจากที่ได้ทดสอบและทดลองใช้จริงพบว่ามัน ให้ผลลัพท์แย่กว่าที่คิด (ไม่ใช่งานที่ทำออกมาดูแย่นะ แต่ผลลัพท์ ที่ได้จากการทดสอบออกมาแย่) และมันจะไม่สามารถตอบโจทย์ในอนาคตในอีก หรือแม้กระทั่งสภาวะตลาดในช่วงนั้นเปลี่ยนไป เราก็สามารถยกเลิกโครงการได้ทันที เพราะความเสียหายที่เกิดขึ้นไม่มากเนื่องจากเราใช้เวลาและทรัพยากรไปเพียงน้อยนิดเท่านั้นในการพัฒนาต้นแบบขึ้นมา
Agile เริ่มต้นได้ยังไง
เราเคยเล่าเรื่องนี้ไปแล้วว่าให้เริ่มต้นกับคนก่อน และโดยเฉพาะอย่างยิ่งกับคนที่มีอำนาจหรือเจ้าของบริษัท จะต้องเปลี่ยนความคิดตัวเองให้ได้ก่อน เพราะโดยปกติ คนที่มีอำนาจมักจะวาดฝันยิ่งใหญ่ และสั่งให้ทีมไปทำงานโดยต้องการผลลัพท์ที่ยิ่งใหญ่เหมือนอย่างที่ตัวเองจินตนาการเอาไว้ ซึ่งนั่นไม่ใช่เรื่องผิด แต่ในชีวิตจริงจะต้องใช้เวลาและทรัพยากรเป็นจำนวนมาก ที่จะทำแบบนั้นขึ้นมาได้และนั่นก็ไม่ใช่แนวทางของ Agile อีกด้วย
สิ่งที่ต้องปรับความคิดก่อนเลยก็คือ หาเนื้อแท้ในความต้องการเรื่องนั้นๆออกมาให้ได้ แก่นแท้ที่จริง ของเรื่องที่กำลังคิดอยู่คืออะไร สามารถทำอย่างไรให้เริ่มต้นในแบบที่ง่ายๆ เพื่อเป็นการพิสูจน์สมมติฐานทางความคิดได้ว่าเรามาถูกทางจริงๆ แน่นอนว่าในช่วงแรกๆงานที่ได้ออกมา อาจจะยังไม่ใช่เป็นตัวสมบูรณ์พอที่สามารถนำไปใช้งานในระดับ Production ได้จริง นั่นคือสิ่งที่ผู้ที่มีอำนาจและผู้บริหารต้องเข้าใจในจุดนี้ และพร้อมที่จะเดินหน้าพัฒนาต่อไปเรื่อยๆ ต่างหาก (คือเลิกจินตนาการถึง งานที่เสร็จสมบูรณ์ในทุกครั้งที่ release แต่ หันมารับงานที่สามารถใช้งานได้ และพร้อมจะต่อยอดไปเรื่อยๆ)
และเมื่อเราถ่ายทอด แนวคิดและการทำงานเหล่านี้ไปเรื่อยๆแล้ว ทุกคน ก็จะคิด และทำงานออกมาไปในแบบที่สอดคล้องกันทั้งหมด องค์กรณ์ ก็จะพร้อมที่จะเปลี่ยนแปลงไปได้ตลอดเวลา ไม่ว่าวิฤติ หรือความเปลี่ยนแปลงอะไรมา ก็ไม่กลัวอีกต่อไป
เชี่ยวชาญเรื่อง eCommerce และ Digital Transformation เพราะมีประสบการณ์กว่า 10 ปี และยังเป็น Full Stack Developer รวมถึงประสบการณ์ด้าน Big Data Ecosystem , Blockchain Ecosystem ถามได้ปรึกษาได้ เป็นกันเอง และ จริงใจ 🙂