ซอฟต์แวร์ หมายถึงระบบปฏิบัติการคอมพิวเตอร์ทั้งสองแบบรวมถึงโปรแกรมและแอปพลิเคชันที่ออกแบบมาเพื่อทำงานบนคอมพิวเตอร์ การพัฒนาซอฟต์แวร์เป็นการออกแบบและเขียนซอฟต์แวร์รวมถึงการพัฒนาสถาปัตยกรรมโปรแกรมและส่วนต่อประสานกับผู้ใช้และการเขียนโปรแกรมของซอร์สโค้ด กระบวนการพัฒนาซอฟต์แวร์เป็นวิธีการที่นำไปสู่การพัฒนาซอฟต์แวร์และมีรูปแบบการพัฒนาที่ดีจำนวนมากสำหรับกระบวนการนี้ โดยทั่วไปแล้วพวกเขามีการเปลี่ยนแปลงในขั้นตอนของการทำการวิเคราะห์ความต้องการการระบุผลิตภัณฑ์การสร้างสถาปัตยกรรมซอฟต์แวร์การใช้รหัสการทดสอบและการจัดทำเอกสารผลิตภัณฑ์การฝึกอบรมและการสนับสนุนและการบำรุงรักษาและเพิ่มประสิทธิภาพการเปิดตัว ไม่ว่าจะใช้รูปแบบใดกระบวนการพัฒนาซอฟต์แวร์อาจมีจุดมุ่งหมายในการพัฒนาผลิตภัณฑ์ใหม่ในขณะที่บางครั้งจะมุ่งเน้นไปที่การแก้ไขตัวอย่างเช่นเมื่อมีการสร้างจุดปล่อยเพื่อแก้ไขข้อบกพร่อง - และในเวลาอื่น ๆ ก็อาจ เตรียมตัวสำหรับซอฟต์แวร์รุ่นใหม่ที่มีอยู่เพิ่มคุณสมบัติที่สำคัญเช่นเดียวกับการแก้ไขข้อผิดพลาด
Waterfall Model สำหรับกระบวนการพัฒนาซอฟต์แวร์เป็นรุ่นแรกและอีกรุ่นหนึ่งที่มีข้อ จำกัด โดยธรรมชาติ มันกำหนดแนวทางการพัฒนาทิศทางเดียวอย่างเคร่งครัดเคลื่อนย้ายทางเดียวผ่านลำดับขั้นตอนการพัฒนาซอฟต์แวร์โดยไม่ต้องย้อนกลับไปยังขั้นตอนก่อนหน้าหรือเปลี่ยนข้อกำหนดเมื่อการพัฒนาเริ่มขึ้น ตรงกันข้ามกับแบบจำลองเกลียวใช้กระบวนการวนซ้ำซึ่งลำดับของความต้องการตามด้วยการออกแบบการนำไปใช้และในที่สุดการทดสอบจะตามด้วยรอบที่สองซึ่งมีการเพิ่มคุณสมบัติและส่วนประกอบเพิ่มเติม ในแบบจำลอง Agile ของกระบวนการพัฒนาซอฟต์แวร์ - ซึ่งมีจำนวนมาก - โครงการพัฒนาแบ่งออกเป็นชุดย่อยยาวสัปดาห์ถึงเดือนที่เรียกว่า timeboxes ซึ่งแต่ละรุ่นจะผ่านกระบวนการพัฒนาซอฟต์แวร์ทั้งหมดที่มีขนาดเล็กลงรวมถึงรุ่นที่ ตอนจบ. คุณสมบัติอื่น ๆ ของการพัฒนา Agile รวมถึงความใกล้ชิดของทีมทำงานร่วมกันและการใช้ลูกค้าเพื่อตอบสนองต่อผลิตภัณฑ์ตลอดกระบวนการ
กระบวนการพัฒนาซอฟต์แวร์อาจแตกต่างกันอย่างสิ้นเชิงสำหรับ บริษัท ขนาดใหญ่และสำหรับโปรแกรมเมอร์แต่ละคน ตัวอย่างเช่นผู้เผยแพร่ซอฟต์แวร์เชิงพาณิชย์เช่น Sibelius Software®ซึ่งเป็นส่วนหนึ่งของ Avid Technology®อาจใช้เวลาหลายปีในกระบวนการพัฒนาซอฟต์แวร์สำหรับแต่ละรุ่นและปล่อยแอปพลิเคชันซอฟต์แวร์ที่มีขนาดหลายร้อย MB และใช้งานโดยผู้คนนับพัน . ในทางกลับกันบุคคลอย่าง Roman Molino Dunn, The Music Transcriber®, การเขียนโปรแกรมปลั๊กอินเพื่อตอบสนองความต้องการของใครบางคนที่เขาหรือเธอสามารถทำสิ่งที่แตกต่างกับซอฟต์แวร์เชิงพาณิชย์ชิ้นหนึ่งอาจสร้างซอฟต์แวร์ 4 kb ภายในหนึ่งชั่วโมงหลังจากมีความคิดในกรณีที่รุนแรง


