วิธี Agile vs V (รุ่น)
ปัจจุบันมีวิธีการพัฒนาซอฟต์แวร์ที่แตกต่างกันจำนวนมากในอุตสาหกรรมซอฟต์แวร์ วิธีการ V (V-Model) เป็นส่วนขยายของวิธีการพัฒนา Waterfall (ซึ่งเป็นหนึ่งในวิธีแรกสุด) จุดสนใจหลักของ V-Model คือการให้น้ำหนักที่เท่ากันในการเข้ารหัสและการทดสอบ โมเดล Agile เป็นโมเดลการพัฒนาซอฟต์แวร์ล่าสุดที่นำมาใช้เพื่อแก้ไขข้อบกพร่องที่พบในโมเดลที่มีอยู่ จุดสนใจหลักของ Agile คือการรวมการทดสอบให้เร็วที่สุดเท่าที่จะเป็นไปได้ และเผยแพร่เวอร์ชันที่ใช้งานได้ของผลิตภัณฑ์ตั้งแต่เนิ่นๆ โดยแบ่งระบบออกเป็นส่วนย่อยที่เล็กมากและสามารถจัดการได้
วิธีการ V (รุ่น) คืออะไร
V Methodologies (V-Model) เป็นรูปแบบการพัฒนาซอฟต์แวร์ ถือเป็นส่วนเสริมของรูปแบบการพัฒนาซอฟต์แวร์ Waterfall ทั่วไป V-Model ใช้ความสัมพันธ์แบบเดียวกันระหว่างเฟสที่กำหนดไว้ในโมเดล Waterfall แต่แทนที่จะลงแบบเส้นตรง (เหมือนแบบ Waterfall) V-Model จะเลื่อนลงในแนวทแยงแล้วเลื่อนกลับขึ้น (หลังขั้นตอนการเข้ารหัส) ทำให้เกิดรูปร่างของตัวอักษร V รูปร่าง V นี้ถูกสร้างขึ้นเพื่อแสดงความสัมพันธ์ระหว่างแต่ละเฟสของ การพัฒนา/การออกแบบและขั้นตอนการทดสอบที่เกี่ยวข้อง เวลาและระดับของนามธรรมจะแสดงด้วยแกนนอนและแนวตั้งตามลำดับ
การทดสอบ (เส้นทางจากน้อยไปมาก ด้านขวาของ V) เสร็จสิ้นสำหรับการตรวจสอบแล้ว ในขณะที่ขั้นตอนการออกแบบที่สอดคล้องกัน (เส้นทางจากมากไปหาน้อย ด้านซ้ายของ V) ใช้สำหรับการตรวจสอบ ใน V-Model ให้น้ำหนักเท่ากันสำหรับการเข้ารหัสและการทดสอบ V-Model แนะนำให้สร้างเอกสารทดสอบควบคู่ไปกับเอกสารการออกแบบ/โค้ดตัวอย่างเช่น เอกสารการทดสอบการรวมควรเขียนเมื่อมีการจัดทำเอกสารการออกแบบระดับสูงและการทดสอบหน่วยควรจัดทำเป็นเอกสารในขณะที่จัดทำแผนการออกแบบโดยละเอียด ซึ่งหมายความว่าควรมีการจัดทำแผนการดำเนินการสำหรับการทดสอบแต่ละครั้งไว้ล่วงหน้า ไม่ต้องรอจนกว่าการพัฒนาจะเสร็จสิ้น จึงสามารถส่งต่อให้ทีมทดสอบได้
Agile คืออะไร
Agile เป็นวิธีการพัฒนาซอฟต์แวร์ล่าสุดโดยอิงจากแถลงการณ์ที่คล่องตัว สิ่งนี้ได้รับการพัฒนาเพื่อแก้ไขข้อบกพร่องบางประการในวิธีการพัฒนาซอฟต์แวร์ V-Model และ Waterfall แบบดั้งเดิม วิธีการแบบ Agile ขึ้นอยู่กับการให้ความสำคัญกับการมีส่วนร่วมของลูกค้าในช่วงต้นของวงจรการพัฒนา ขอแนะนำให้รวมการทดสอบโดยลูกค้าตั้งแต่เนิ่นๆและบ่อยครั้งที่สุด การทดสอบเสร็จสิ้นในแต่ละจุดเมื่อมีเวอร์ชันเสถียร รากฐานของ Agile ขึ้นอยู่กับการเริ่มต้นการทดสอบตั้งแต่ต้นโครงการและต่อเนื่องไปจนสิ้นสุดโครงการค่านิยมหลักของ Agile คือ "คุณภาพคือความรับผิดชอบของทีม" ซึ่งเน้นว่าคุณภาพของซอฟต์แวร์เป็นความรับผิดชอบของทั้งทีม (ไม่ใช่แค่ทีมทดสอบ) สิ่งสำคัญอีกประการหนึ่งของ Agile คือการแยกซอฟต์แวร์ออกเป็นส่วนเล็กๆ ที่จัดการได้ และส่งมอบให้กับลูกค้าอย่างรวดเร็ว การส่งมอบผลิตภัณฑ์ที่ใช้งานได้มีความสำคัญสูงสุด จากนั้นทีมงานก็ปรับปรุงซอฟต์แวร์อย่างต่อเนื่องและส่งมอบอย่างต่อเนื่องในแต่ละขั้นตอนที่สำคัญ ซึ่งทำได้โดยการมีรอบการปล่อยสั้นๆ ที่เรียกว่า sprints และรับข้อเสนอแนะสำหรับการปรับปรุงเมื่อสิ้นสุดแต่ละรอบ Contributor ที่ไม่มีปฏิสัมพันธ์กับทีมมากนัก เช่น นักพัฒนาและผู้ทดสอบในวิธีการก่อนหน้านี้ ตอนนี้ทำงานร่วมกันภายในโมเดล Agile
วิธี Agile และ V (รุ่น) แตกต่างกันอย่างไร
รุ่น Agile ส่งมอบผลิตภัณฑ์เวอร์ชันที่ใช้งานได้เร็วมากเมื่อเทียบกับรุ่น V เนื่องจากมีการส่งมอบคุณลักษณะเพิ่มขึ้นเรื่อยๆ ลูกค้าจึงสามารถรับรู้ถึงประโยชน์บางประการได้ตั้งแต่เนิ่นๆรอบเวลาการทดสอบของ Agile นั้นค่อนข้างสั้นเมื่อเทียบกับ V-Model เนื่องจากการทดสอบทำควบคู่ไปกับการพัฒนา Agile เป็นโมเดลเชิงรุก (เนื่องจากรอบสั้นมาก) เมื่อเทียบกับ V-Model ที่มีปฏิกิริยามากกว่ามาก V-Model นั้นแข็งแกร่งมากและค่อนข้างยืดหยุ่นน้อยกว่ารุ่น Agile เนื่องจากข้อดีทั้งหมดเหล่านี้ ทำให้ Agile เป็นที่ต้องการมากกว่ารุ่น V ในขณะนี้