ฉันอยากรู้อยากเห็นถ้าใครรู้วิธีการที่แตกต่างกันอย่างมีนัยสำคัญ (ไม่ใช่การรวมตัวกันอีกครั้ง) และฉันจะขอบคุณโดยเฉพาะอย่างยิ่งทุกคนที่นำประสบการณ์กับทางเลือกอื่น ๆ
ฉันอยากรู้อยากเห็นถ้าใครรู้วิธีการที่แตกต่างกันอย่างมีนัยสำคัญ (ไม่ใช่การรวมตัวกันอีกครั้ง) และฉันจะขอบคุณโดยเฉพาะอย่างยิ่งทุกคนที่นำประสบการณ์กับทางเลือกอื่น ๆ
คำตอบ:
Wikipedia แสดงรายการเหล่านี้เป็นวิธีการ / กระบวนการพัฒนา :
Agile - บนพื้นฐานของการพัฒนาแบบวนซ้ำและแบบเพิ่มขึ้นซึ่งความต้องการและโซลูชั่นมีวิวัฒนาการผ่านการทำงานร่วมกันระหว่างทีมที่จัดระเบียบตนเองและข้ามสายงาน
Cleanroom - จุดสำคัญของกระบวนการ Cleanroom คือการป้องกันข้อบกพร่องมากกว่าการกำจัดข้อบกพร่อง
ซ้ำ - กระบวนการพัฒนาซอฟต์แวร์แบบวนซ้ำที่พัฒนาขึ้นเพื่อตอบสนองต่อจุดอ่อนของโมเดลน้ำตก มันเริ่มต้นด้วยการวางแผนเริ่มต้นและจบลงด้วยการปรับใช้กับการโต้ตอบแบบวนรอบในระหว่างนั้น
RAD - ใช้การวางแผนขั้นต่ำเพื่อสนับสนุนการสร้างต้นแบบอย่างรวดเร็ว "การวางแผน" ของซอฟต์แวร์ที่ได้รับการพัฒนาโดยใช้ RAD นั้นถูกเขียนขึ้นด้วยการเขียนซอฟต์แวร์เอง
RUP - Rational Unified Process (RUP) เป็นเฟรมเวิร์กกระบวนการพัฒนาซอฟต์แวร์แบบวนซ้ำที่ปรับเปลี่ยนได้โดยมีจุดประสงค์เพื่อปรับแต่งโดยการเลือกองค์ประกอบของกระบวนการที่เหมาะสม
Spiral - การรวมองค์ประกอบต่าง ๆ ของทั้งการออกแบบและการสร้างต้นแบบเข้าด้วยกันในความพยายามที่จะรวมข้อดีของแนวคิดจากบนลงล่างและจากล่างขึ้นบน รูปแบบของการพัฒนานี้รวมคุณสมบัติของตัวแบบต้นแบบและตัวแบบน้ำตก
Waterfall - ลำดับผ่านขั้นตอนของการปฏิสนธิการเริ่มต้นการวิเคราะห์การออกแบบการก่อสร้างการทดสอบและการบำรุงรักษา
Lean - คำแปลของหลักการผลิตและการผลิตแบบลีนและแนวทางการพัฒนาซอฟต์แวร์แบบลีนในโดเมนการพัฒนาซอฟต์แวร์ ทุกสิ่งที่ไม่เพิ่มมูลค่าให้กับลูกค้าถือเป็นของเสีย
รูปแบบ V - แทนที่จะเลื่อนลงในลักษณะเป็นเส้นตรงขั้นตอนกระบวนการจะโค้งงอขึ้นด้านหลังขั้นตอนการเข้ารหัสเพื่อสร้างรูปร่าง V ทั่วไป V-Model แสดงให้เห็นถึงความสัมพันธ์ระหว่างแต่ละช่วงของวงจรชีวิตการพัฒนาและขั้นตอนการทดสอบที่เกี่ยวข้อง
TDD - อาศัยการวนซ้ำของวงจรการพัฒนาที่สั้นมาก: ขั้นแรกผู้พัฒนาเขียนกรณีทดสอบอัตโนมัติที่ล้มเหลวซึ่งกำหนดการปรับปรุงที่ต้องการหรือฟังก์ชั่นใหม่จากนั้นสร้างรหัสเพื่อผ่านการทดสอบนั้นและในที่สุด refactors รหัสใหม่ให้เป็นมาตรฐานที่ยอมรับได้
การพัฒนารูปแบบที่ไม่มีโครงสร้างไม่มีการจัดการที่บริสุทธิ์ มันอาจมีประโยชน์สำหรับโครงการงานอดิเรกขนาดเล็กที่ไม่มีกำหนดเวลาหรือแม้กระทั่งเป้าหมายที่ชัดเจน แต่มีแนวโน้มว่าจะไม่สามารถทำงานในองค์กร
แบบจำลองเกลียวเป็นกระบวนการพัฒนาซอฟต์แวร์ที่รวมองค์ประกอบของการออกแบบและการสร้างต้นแบบในแต่ละขั้นตอนเพื่อรวมข้อดีของแนวคิดจากบนลงล่างและจากล่างขึ้นบน หรือที่เรียกว่าแบบจำลองวงจรชีวิตเกลียว (หรือการพัฒนาแบบหมุนวน) มันเป็นวิธีการพัฒนาระบบ (SDM) ที่ใช้ในเทคโนโลยีสารสนเทศ (IT) รูปแบบของการพัฒนานี้รวมคุณสมบัติของตัวแบบต้นแบบและตัวแบบน้ำตก รุ่นเกลียวมีไว้สำหรับโครงการขนาดใหญ่ราคาแพงและซับซ้อน
นั่งลงกับลูกค้า (หรือผู้ใช้ปลายทาง) และออกแบบชุดกรณีการใช้งาน
จัดวางระบบบนกระดาษ / ไวท์บอร์ดบนเบียร์และพิซซ่าสองสามตัว เงียบเมื่อสิ่งที่ดูเหมือนลึงค์
ยืนยันการออกแบบกับไคลเอนต์ (หรือผู้ใช้ปลายทาง) และแช่แข็งข้อกำหนด
อธิบายตนเอง
การโต้เถียงน้ำตกนี้มีมานานแล้วและใช้โดยผู้นำความคิดเปรียวก่อน พวกเขาพบกับ "ความจริง" ของน้ำตกด้วยเช่นกัน
เมื่อคุณเริ่มทำงานในโครงการพัฒนาซอฟต์แวร์คุณจะค้นพบได้อย่างรวดเร็วว่าวิธีการพัฒนาที่ใช้จะมีส่วนสำคัญในการเล่นความเร็วและคุณภาพของรหัสที่พัฒนาขึ้นเนื่องจาก Agile methodology มีการใช้กันอย่างแพร่หลายเป็นสิ่งสำคัญที่คุณต้องเข้าใจข้อดี และข้อเสียของความคล่องตัวเพื่อให้คุณสามารถตรวจสอบได้ว่ามันเหมาะสมที่สุดสำหรับการส่งมอบโครงการของคุณ
การพัฒนาซอฟต์แวร์ Agile เป็นกรอบแนวคิดสำหรับการดำเนินโครงการวิศวกรรมซอฟต์แวร์วิธีการที่คล่องตัวที่สุดพยายามลดความเสี่ยงโดยการพัฒนาซอฟต์แวร์ในช่วงเวลาสั้น ๆ ที่เรียกว่าการทำซ้ำซึ่งโดยทั่วไปแล้วจะใช้เวลาหนึ่งถึงสี่สัปดาห์ การวนซ้ำแต่ละครั้งเป็นเหมือนโครงการซอฟต์แวร์ขนาดเล็กของตนเองและรวมถึงงานทั้งหมดที่จำเป็นในการเพิ่มฟังก์ชั่นการทำงานใหม่ ๆ มากมาย: การวางแผนการวิเคราะห์ความต้องการการออกแบบการเข้ารหัสการทดสอบและเอกสาร
เป็นกระบวนการที่ดีสำหรับ บริษัท เพราะรวมลูกค้าไว้ในกระบวนการพัฒนาและทำให้รับผิดชอบต่อการส่งมอบผลิตภัณฑ์ ในอีกด้านลูกค้ามีความสุขเพราะพวกเขาพบว่าตนเองมีส่วนร่วมในการพัฒนาผลิตภัณฑ์
Demerits สำหรับเปรียว:
สำหรับวิธีการที่น่าสนใจซึ่งอาจใช้เป็นทางเลือกสำหรับ AGILE อาจดูได้ดีที่สุดภายใต้ลิงก์ทั้งสามนี้: