วิธีการพัฒนาซอฟต์แวร์ (SDM) เป็นวิธีการที่โปรแกรมถูกสร้างขึ้นผ่านการสร้างรหัสและการใช้เครื่องมือต่าง ๆ โดยทั่วไปหมายถึงกระบวนการเองและวิธีการจัดการเพื่อให้แน่ใจว่าการพัฒนาเสร็จสมบูรณ์ตามเวลาและภายในงบประมาณที่เหมาะสม มีหลายรูปแบบที่วิธีการพัฒนาซอฟต์แวร์สามารถทำได้ขึ้นอยู่กับลักษณะของโปรแกรมที่สร้างขึ้นและเครื่องมือที่ใช้ อย่างไรก็ตามโดยทั่วไป SDM อยู่ภายใต้ความต้องการเพื่อให้แน่ใจว่าการแบ่งงานเป็นองค์ประกอบที่สามารถจัดการได้และกระบวนการที่ต้องผ่านการทำซ้ำจำนวนมาก
มีเฟรมเวิร์กต่าง ๆ มากมายที่สามารถใช้ภายในวิธีการพัฒนาซอฟต์แวร์ซึ่งโดยทั่วไปจะใช้เพื่อจัดระเบียบกระบวนการสร้างโปรแกรมใหม่ เฟรมเวิร์กหลายตัวสามารถใช้ร่วมกันเพื่อสร้าง SDM เดียวจากนั้นวิธีการมากมายสามารถรวมกันเป็นตระกูล SDM การใช้วิธีการพัฒนาซอฟต์แวร์มักจะสร้างและสนับสนุนแนวทางปฏิบัติที่ดีที่สุดในการสร้างซอฟต์แวร์ใหม่สำหรับทีมนักพัฒนาซอฟต์แวร์ หากไม่มี SDM ที่ต้องพิจารณาในระหว่างการพัฒนากระบวนการสามารถกลายเป็นความวุ่นวายและนำไปสู่การเสียทั้งในแง่ของทรัพยากรทางการเงินและเวลา
หนึ่งในวิธีการพัฒนาซอฟต์แวร์ที่ใช้กันทั่วไปและเรียบง่ายที่สุดเรียกว่าแบบจำลอง "ฟอลส์" ก่อนที่จะสามารถใช้ SDM นี้ได้ต้องกำหนดเป้าหมายที่เฉพาะเจาะจงสำหรับกระบวนการเฉพาะและรอบการพัฒนาทั้งหมดจะต้องแบ่งออกเป็นองค์ประกอบต่าง ๆ องค์ประกอบหนึ่งเดียวนั้นสามารถเข้าหาและถูกนำมาผ่านชุดของขั้นตอนแต่ละคนมองเห็นเป็นขบวนลงที่สร้างแนวคิด "น้ำตก" วิธีการพัฒนาซอฟต์แวร์ประเภทนี้ไม่ได้ใช้อีกต่อไปในหลาย ๆ สถานการณ์เนื่องจากวิธีการที่ใหม่กว่ามาแทนที่มัน
โมเดล "spiral" ได้กลายเป็นวิธีการพัฒนาซอฟต์แวร์ที่ได้รับความนิยมอย่างหนึ่งเนื่องจากสามารถจัดการองค์ประกอบที่สำคัญสองอย่างของกระบวนการในการสร้างภาพข้อมูลเดียว โดยทั่วไปเกลียวเป็นเส้นเดียวที่เริ่มต้นที่ศูนย์กลางย้ายออกไปด้านนอกในวงแหวนศูนย์กลางที่มีขนาดใหญ่ขึ้น แต่ผ่านรูปทรงกลมเดียวกัน สิ่งนี้ใช้เป็นแบบจำลองสำหรับการพัฒนาซอฟต์แวร์เนื่องจากองค์ประกอบของโปรแกรมแต่ละโปรแกรมเริ่มต้นเล็กและเพิ่มขนาดระหว่างการพัฒนา เมื่อสิ่งนี้เกิดขึ้นมันยังผ่านหลายเฟสเช่นการพัฒนาการประเมินและการวิเคราะห์ตลอดการทำซ้ำที่แตกต่างกัน ทั้งหมดนี้สร้างกระบวนการรวมเป็นหนึ่งเดียวที่เติบโตใหญ่กว่าภายนอกเมื่อมันเคลื่อนที่ผ่านขั้นตอนซ้ำหลายครั้งคล้ายกับเกลียว


