วิธีการที่เพิ่มขึ้นใช้จำนวนชุดของขั้นตอนและการพัฒนาไปตั้งแต่ต้นจนจบในเส้นทางเชิงเส้นของความก้าวหน้า
การพัฒนาที่เพิ่มขึ้นนั้นทำในขั้นตอนจากการออกแบบการใช้งานการทดสอบ / การตรวจสอบการบำรุงรักษา สิ่งเหล่านี้สามารถแบ่งย่อยออกเป็นขั้นตอนย่อยได้ แต่โมเดลที่เพิ่มขึ้นส่วนใหญ่จะเป็นไปตามรูปแบบเดียวกันนั้น น้ำตกรุ่นเป็นแนวทางการพัฒนาที่เพิ่มขึ้นแบบดั้งเดิม
วิธีย้ำไม่มีจำนวนชุดของขั้นตอนการพัฒนาค่อนข้างจะทำในรอบ
การพัฒนาซ้ำจะไม่ค่อยเกี่ยวข้องกับการติดตามความคืบหน้าของคุณลักษณะส่วนบุคคล แต่จะมุ่งเน้นไปที่การสร้างต้นแบบการทำงานก่อนและเพิ่มคุณสมบัติในวงจรการพัฒนาที่มีขั้นตอนการพัฒนาเพิ่มขึ้นสำหรับทุกรอบ การสร้างแบบจำลอง Agileเป็นวิธีการทำซ้ำโดยทั่วไป
รูปแบบที่เพิ่มขึ้นเดิมได้รับการพัฒนาให้เป็นไปตามรูปแบบสายการประกอบแบบดั้งเดิมที่ใช้ในโรงงาน น่าเสียดายที่การออกแบบและพัฒนาซอฟต์แวร์นั้นมีความคล้ายคลึงกับการผลิตสินค้าทางกายภาพเล็กน้อย รหัสคือพิมพ์เขียวไม่ใช่ผลิตภัณฑ์ที่ได้รับการพัฒนา ตัวเลือกการออกแบบที่ดีมักจะ 'ค้นพบ' ในระหว่างกระบวนการพัฒนา การล็อกผู้พัฒนาเข้ากับข้อสันนิษฐานที่ไม่มีบริบทที่เหมาะสมอาจนำไปสู่การออกแบบที่ไม่ดีในกรณีที่ดีที่สุดหรือการพัฒนาที่แย่ที่สุดในกรณีที่เลวร้ายที่สุด
แนวทางการวนซ้ำกำลังกลายเป็นเรื่องธรรมดาเพราะมันสอดคล้องกับแนวทางการพัฒนาซอฟต์แวร์ที่เป็นไปตามธรรมชาติ แทนที่จะลงทุนมากเวลา / ความพยายามไล่ 'การออกแบบที่สมบูรณ์แบบ' ตามสมมติฐานวิธีการทำซ้ำคือทั้งหมดที่เกี่ยวกับการสร้างสิ่งที่ 'ดีพอ' เพื่อเริ่มต้นและพัฒนาเพื่อให้เหมาะกับความต้องการของผู้ใช้
tl; dr - หากคุณกำลังเขียนเรียงความภายใต้แบบจำลองเพิ่มเติมคุณจะพยายามเขียนมันอย่างสมบูรณ์ตั้งแต่ต้นจนจบหนึ่งประโยคในเวลา หากคุณเขียนมันภายใต้ Iterative Model คุณจะต้องทำการร่างแบบคร่าวๆอย่างรวดเร็วและพยายามปรับปรุงมันผ่านชุดของเฟสการแก้ไข
ปรับปรุง:
ฉันแก้ไขคำจำกัดความของฉันสำหรับ 'วิธีการเพิ่มเติม' เพื่อให้พอดีกับตัวอย่างที่ใช้งานได้จริงมากขึ้น
หากคุณเคยมีการจัดการกับการทำสัญญาวิธีการที่เพิ่มขึ้นเป็นวิธีการที่สัญญาส่วนใหญ่จะดำเนินการ (โดยเฉพาะอย่างยิ่งสำหรับทหาร) แม้จะมีรูปแบบที่แตกต่างกันเล็กน้อยของ 'น้ำตกจำลอง' โดยทั่วไปส่วนใหญ่ / ทั้งหมดถูกนำไปใช้ในทางเดียวกันในทางปฏิบัติ
ขั้นตอนดำเนินการดังนี้:
- รางวัลสัญญา
- ทบทวนการออกแบบเบื้องต้น
- รีวิวการออกแบบที่สำคัญ
- ข้อกำหนดตรึง
- พัฒนาการ
- ฟีลดิง / บูรณาการ
- การตรวจสอบ
- การทดสอบความน่าเชื่อถือ
PDR และ CDR คือตำแหน่งที่สร้างและแก้ไขข้อมูลจำเพาะ เมื่อข้อมูลจำเพาะเสร็จสมบูรณ์ควรจะถูกแช่แข็งเพื่อป้องกันการคืบของขอบเขต การรวมเกิดขึ้นหากใช้ซอฟต์แวร์เพื่อขยายระบบที่มีอยู่แล้ว การยืนยันใช้สำหรับตรวจสอบว่าแอปพลิเคชันตรงกับข้อกำหนด ความน่าเชื่อถือเป็นการทดสอบเพื่อพิสูจน์ว่าแอปพลิเคชันจะมีความน่าเชื่อถือในระยะยาวซึ่งสามารถระบุได้เช่น SLA (Service Level Agreement) ซึ่งระบบจะต้องรักษาเปอร์เซ็นต์การทำงานต่อเนื่อง (เช่น 99% uptime เป็นเวลา 3 เดือน) )
รุ่นนี้ใช้งานได้ดีสำหรับระบบที่ตรงไปตรงมาเพื่อระบุบนกระดาษ แต่ผลิตยาก ซอฟต์แวร์เป็นเรื่องยากมากที่จะระบุลงบนกระดาษตามระดับของรายละเอียดใด ๆ (เช่น UML) ส่วนใหญ่ 'ประเภทธุรกิจ' ที่รับผิดชอบด้านการจัดการ / การทำสัญญาล้มเหลวที่จะตระหนักว่า - เมื่อพูดถึงการพัฒนาซอฟต์แวร์ - รหัสตัวเองเป็นข้อมูลจำเพาะ ข้อกำหนดเฉพาะของกระดาษมักใช้เวลามากหรือนานกว่านั้นในการเขียนโค้ดและพวกเขามักจะพิสูจน์ว่าไม่สมบูรณ์ / ด้อยกว่าในทางปฏิบัติ
วิธีการที่เพิ่มขึ้นพยายามที่จะเสียเวลา / ทรัพยากรโดยการรักษารหัสของตัวเองเป็นสเปค แทนที่จะเรียกใช้ข้อมูลจำเพาะกระดาษผ่านขั้นตอนการแก้ไขหลายขั้นตอนรหัสจะต้องผ่านการแก้ไขหลายรอบ