วิธีการวนซ้ำแบบ Agile คืออะไรและใช้ที่ไหน?

เผยแพร่แล้ว: 2018-06-22

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

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

รายงานสถานะ Agile ประจำ ปี ครั้งที่ 12 พบว่าหนึ่งในห้าเหตุผลหลักที่รายงานสำหรับการนำวิธีการแบบ Agile มาใช้ คือ การส่งซอฟต์แวร์แบบเร่งรัด โดยเพิ่มขึ้นเป็น 75% ในปี 2018 ในขณะที่การวางแผนซ้ำซึ่งมีการเพิ่มขึ้น 88% เป็น Agile ที่มีการจ้างงานมากที่สุดเป็นอันดับสอง เทคนิคในปี 2561

การพัฒนาซ้ำแบบ Agile คืออะไร?

วิธีการพัฒนาซอฟต์แวร์แบบ Agile มักถูกอธิบายว่าเป็นการพัฒนาแบบวนซ้ำและแบบเพิ่มหน่วย กลยุทธ์การทำซ้ำเป็นรากฐานที่สำคัญของแนวทางปฏิบัติแบบ Agile ซึ่งโดดเด่นที่สุดคือ SCRUM, DSDM และ FDD แนวคิดทั่วไปคือการแบ่งการพัฒนาซอฟต์แวร์ออกเป็นลำดับของวัฏจักรซ้ำ ๆ (การวนซ้ำ) การวนซ้ำแต่ละครั้งจะมีระยะเวลาคงที่ที่เรียกว่ากล่องเวลา กล่องเวลาเดียวโดยทั่วไปจะใช้เวลา 2-4 สัปดาห์

แบบจำลอง Agile Iterative อาจอธิบายได้ดีที่สุดโดย Craig Larman ในหนังสือของเขา Agile and Iterative Development – ​​A Manager's Guide Larman อธิบายว่าแบบจำลองทำงานบนวงล้อ ADTC (การวิเคราะห์ การออกแบบ รหัส การทดสอบ) กล่าวคือว่าวงจรการทำซ้ำแต่ละรอบประกอบด้วยการวิเคราะห์แผน การออกแบบ หลักจรรยาบรรณ และการทดสอบพร้อมกัน วงล้อ ADTC ถูกเรียกว่าวงจร PDCA (แผน ออกแบบ ตรวจสอบ ปรับ) ทีม Agile ใช้วงจร PDCA ในการทำซ้ำแต่ละครั้งแยกกันในลักษณะต่อไปนี้:

P (แผน) – การวางแผนซ้ำ

ในกรณีนี้ ทีมงานจะทำงานร่วมกันเพื่อหารือเกี่ยวกับวัตถุประสงค์ในการทำซ้ำครั้งต่อไป นอกจากนี้ยังสรุปงานที่ทำเสร็จแล้วและกำหนดงานในมือที่จำเป็นสำหรับการทำซ้ำครั้งต่อไป

D (การออกแบบ) – การดำเนินการซ้ำ

นี่คือขั้นตอน 'ทำ' ที่ซึ่งการพัฒนาซอฟต์แวร์ การออกแบบ และการเข้ารหัสเกิดขึ้น หากเป็นการทำซ้ำครั้งที่สองหรือสาม แสดงว่ามีการทดสอบฟังก์ชันการทำงานด้วย ทีมรวบรวมเรื่องราวของผู้ใช้และเตรียมพร้อมสำหรับขั้นตอนต่อไป ซึ่งก็คือการทบทวนซ้ำ

C (ตรวจสอบ) – ทบทวนซ้ำ

หรือที่เรียกว่าขั้นตอน 'ตรวจสอบ' การตรวจสอบซ้ำจะดำเนินการกับเจ้าของผลิตภัณฑ์ ทีมงานจะแสดงการส่งมอบที่ทดสอบแล้วให้กับเจ้าของผลิตภัณฑ์ ซึ่งจะตรวจทานงานที่เสร็จสมบูรณ์และตรวจสอบว่าตรงตามเกณฑ์ทั้งหมดหรือไม่

A (Adjust) – ย้อนดูย้อนหลัง

ในกรณีนี้ ทีมงานจะประเมินกระบวนการทั้งหมดของการวนซ้ำตั้งแต่ขั้นตอนแรก มันใช้งานได้จริงกับการปรับปรุงใดๆ ที่รวบรวมมาจากการทำซ้ำครั้งก่อน มีการระบุปัญหาใหม่พร้อมกับสาเหตุ ก่อนที่ทีมจะเริ่มรอบถัดไปอีกครั้ง งานที่ค้างของทีมจะได้รับการปรับปรุงเพื่อใช้อ้างอิงในอนาคต

มีการทำซ้ำซ้ำเพื่อเพิ่มประสิทธิภาพและด้นสด และบทเรียนที่เรียนรู้จากรอบก่อนหน้าจะถูกนำไปใช้ในรอบถัดไป จนกว่าซอฟต์แวร์ที่ใช้งานได้เต็มรูปแบบจะพร้อมออกสู่ตลาด

ประโยชน์ของการพัฒนาซ้ำแบบเปรียว

การจัดการโปรเจ็กต์แบบ Agile ถูกสร้างขึ้นเพื่อเป็นทางเลือกที่ยืดหยุ่นกว่าวิธีแบบ Waterfall ที่เข้มงวดแบบดั้งเดิม

วิธีน้ำตกเป็นแนวทางเชิงเส้นที่ดำเนินไปตามลำดับจากระยะหนึ่งไปอีกระยะหนึ่ง โดยไม่ให้การพัฒนาย้อนกลับไปยังขั้นตอนก่อนหน้า โดยไม่ต้องพูดอะไรเลย วิธี Waterfall ทำให้เกิดผลกระทบที่จะเกิดขึ้น ซึ่งรวมถึงแต่ไม่จำกัดเพียงต้นทุนการพัฒนาที่เพิ่มขึ้น การส่งมอบซอฟต์แวร์ที่ยืดเยื้อ และการเพิ่มทรัพยากรเพิ่มเติม

Sudhakar Gorti, CIO for Environmental Data Resources ตกลงว่า " หนึ่งในประโยชน์ที่สำคัญของ Agile over Waterfall คือการที่คุณมองเห็นการส่งมอบแบบวนซ้ำ และเจ้าของผลิตภัณฑ์สามารถตัดสินใจทำการเปลี่ยนแปลงใน Backlog ของผลิตภัณฑ์"

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

Favors Evolution – การวางแผนในกระบวนการพัฒนา Agile Iterative เป็นความสำเร็จที่ต่อเนื่อง ซึ่งช่วยให้มีพื้นที่สำหรับการพัฒนาแนวคิด แทนที่จะเป็นการวางแผนที่ครอบคลุมก่อนการดำเนินการและการทดสอบใน Waterfall เท่านั้น

การประเมินความเสี่ยง – การวนซ้ำแบบ Agile ช่วยให้สามารถระบุความเสี่ยงและบรรเทาความเสี่ยงได้ตั้งแต่เนิ่นๆ ในการพัฒนาเพื่อหลีกเลี่ยงการกระแทกความเร็วในไทม์ไลน์ในภายหลัง

จัดส่งอย่างรวดเร็ว – งานแบ่งออกเป็นรอบเล็กๆ ทำให้สมาชิกในทีมสามารถทุ่มเทความสนใจและส่งมอบตรงเวลา นอกจากนี้ การทดสอบยังดำเนินการพร้อมกันในการเขียนโค้ดและการออกแบบในทุกๆ การทำซ้ำ ซึ่งช่วยลดเวลาที่จำเป็นในการทำให้เสร็จได้อย่างมาก

Agile Iterative Approach ใช้ที่ไหน?

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

nTask ถูกสร้างขึ้นโดยใช้วิธีการ Scrum Scrum ช่วยให้ทำงานเป็นทีมได้อย่างอิสระโดยใช้วงล้อ ADCT ซึ่งทีม nTask ต่างๆ ทำงานร่วมกันในการวิ่งสองสัปดาห์ (การวนซ้ำ)

เนื่องจากขอบเขตของ nTask มีการพัฒนาอย่างต่อเนื่อง และมีการเพิ่มเติมทุกสัปดาห์ วิธีการแบบวนซ้ำช่วยให้ทีมพัฒนา nTask สามารถสลับไปมาเพื่อการเพิ่มประสิทธิภาพได้

Brad Murphy ซีอีโอของ Gear Stream ที่ปรึกษาด้าน Agile เชื่อว่าแนวทาง Agile Iterative ในปัจจุบันสามารถให้บริการได้อย่างกว้างขวางในโซนอื่นนอกเหนือจากการพัฒนาซอฟต์แวร์

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

จากการสอบสวนของ Deloitte Center for Government Insights พบว่า 80% ของโครงการไอทีของรัฐบาลกลางที่สำคัญเรียกตัวเองว่า "Agile Iterative" ในปี 2560 เหตุผลหนึ่งที่ทำให้การเพิ่มขึ้นนี้พิจารณาได้ง่ายจากการลดเวลาที่ใช้ในการดำเนินโครงการให้สำเร็จลุล่วง ด้วยต้นทุนรวมของโครงการ

รายงานอีกฉบับจาก Deloitte ในปี 2558 เปิดเผยว่าธนาคารต่างๆ เช่น Barclays ได้เริ่มใช้วิธีทำซ้ำๆ เช่น Scrum กับการตรวจสอบภายในมากกว่า 20% Barclays ยอมรับที่จะได้รับประโยชน์จาก SCRUM ในด้านต่างๆ เช่น การจัดการความเสี่ยงและการวางแผน

Agile Iterative Approach ไม่ได้จำกัดเฉพาะองค์กรไอทีและบริษัทการเงินเท่านั้น Walmart ใช้ Agile Iterative Approach สำหรับการตรวจสอบภายใน หนึ่งในความสำเร็จมากมายของพวกเขาหลังการชักนำให้เกิด Agile รวมถึงการประหยัดเวลาเมื่อเปรียบเทียบกับวิธีการตรวจสอบแบบเดิม

Ricky Barr กรรมการผู้จัดการฝ่ายตรวจสอบภายในของ United Airlines สรุปประสบการณ์ของเขาในการใช้ระบบตรวจสอบภายในแบบ Agile ของ Deloitte ว่าเป็น

จนถึง 8 ปีที่แล้ว หลายบริษัท เช่น ลูกค้าส่วนใหญ่ของ Gartner ยังคงใช้วิธีดั้งเดิมของ Waterfall ในการพัฒนาแอปพลิเคชัน

แต่ด้วยประโยชน์ที่แสดงให้เห็นได้ของ Agile ในช่วงหลายปีที่ผ่านมา ซึ่งมีตั้งแต่มูลค่าทางธุรกิจที่เพิ่มขึ้นไปจนถึงผลกระทบต่อองค์กรที่แข็งแกร่ง ชุมชน Agile ได้ขยายจากสตาร์ทอัพไปสู่แบรนด์ระดับโลก เช่น IBM และ Cisco